code: @Override
      public boolean compare(Object object) {
          if (!(object instanceof IAtom)) {
              return false;
          }
          if (!super.compare(object)) {
              return false;
          }
          Atom atom = (Atom) object;
          // XXX: floating point comparision!
          if (((point2d == atom.point2d) || ((point2d != null) && (point2d.equals(atom.point2d))))
              && ((point3d == atom.point3d) || ((point3d != null) && (point3d.equals(atom.point3d))))
              && (Objects.equals(hydrogenCount, atom.hydrogenCount)) && (Objects.equals(stereoParity, atom.stereoParity))
              && (Objects.equals(charge, atom.charge))) {
              return true;
          }
          return false;
      }
docs: Compares a atom with this atom.
  
  @param     object of type Atom
  @return    true, if the atoms are equal