code: private boolean checkTetrahedral(int u, int[] mapping) {
          int v = mapping[u];
          if (targetTypes[v] != Type.Tetrahedral) return false;
  
          ITetrahedralChirality queryElement = (ITetrahedralChirality) queryElements[u];
          ITetrahedralChirality targetElement = (ITetrahedralChirality) targetElements[v];
  
          // access neighbors of each element, then map the query to the target
          int[] us = neighbors(queryElement, queryMap);
          int[] vs = neighbors(targetElement, targetMap);
          us = map(u, v, us, mapping);
  
          if (us == null) return false;
  
          int p = permutationParity(us) * parity(queryElement.getStereo());
          int q = permutationParity(vs) * parity(targetElement.getStereo());
  
          return p == q;
      }
docs: Verify the tetrahedral stereochemistry (clockwise/anticlockwise) of atom
  {@code u} is preserved in the target when the {@code mapping} is used.
  
  @param u       tetrahedral index in the target
  @param mapping mapping of vertices
  @return the tetrahedral configuration is preserved