if (x == 3 && v == 4 && q == 1) return Type.Tricoordinate; if (x == 4 && h == 0 && (q == 0 && v == 5 || q == 1 && v == 4)) return verifyTerminalHCount(i) ? Type.Tetracoordinate : Type.None; case 15: // phosphorus if (x == 4 && (q == 0 && v == 5 && h == 0 || q == 1 && v == 4)) return verifyTerminalHCount(i) ? Type.Tetracoordinate : Type.None; return verifyTerminalHCount(i) ? Type.Tetracoordinate : Type.None; case 16: // sulphur if (h > 0) return Type.None; if (q == 0 && ((v == 4 && x == 3) || (v == 6 && x == 4))) return verifyTerminalHCount(i) ? Type.Tetracoordinate : Type.None; if (q == 1 && ((v == 3 && x == 3) || (v == 5 && x == 4))) return verifyTerminalHCount(i) ? Type.Tetracoordinate : Type.None; return Type.None; return Type.None; case 33: // arsenic if (x == 4 && q == 1 && v == 4) return verifyTerminalHCount(i) ? Type.Tetracoordinate : Type.None; return Type.None; case 34: // selenium if (h > 0) return Type.None; if (q == 0 && ((v == 4 && x == 3) || (v == 6 && x == 4))) return verifyTerminalHCount(i) ? Type.Tetracoordinate : Type.None; if (q == 1 && ((v == 3 && x == 3) || (v == 5 && x == 4))) return verifyTerminalHCount(i) ? Type.Tetracoordinate : Type.None; return Type.None;