code: @Override
      public int indexOf(Object o) {
          IAtomContainer atomContainer = (IAtomContainer) o;
          if (!atomContainer.getTitle().equals(title)) return -1;
  
          if (atomContainer.getAtomCount() != this.atomContainer.getAtomCount()) return -1;
  
          boolean coordsMatch;
          int index = 0;
          for (Point3d[] coords : coordinates) {
              coordsMatch = true;
              for (int i = 0; i < atomContainer.getAtomCount(); i++) {
                  Point3d p = atomContainer.getAtom(i).getPoint3d();
                  if (!(p.x == coords[i].x && p.y == coords[i].y && p.z == coords[i].z)) {
                      coordsMatch = false;
                      break;
                  }
              }
              if (coordsMatch) return index;
              index++;
          }
          return -1;
      }
docs: Returns the lowest index at which the specific IAtomContainer appears in the list or -1 if is not found.
  
  A given IAtomContainer will occur in the list if the title matches the stored title for
  the conformers in this container and if the coordinates for each atom in the specified molecule
  are equal to the coordinates of the corresponding atoms in a conformer.
  
  @param o The IAtomContainer whose presence is being tested
  @return The index where o was found