code: public static int getSupportedDataFeatures(IAtomContainer molecule) {
          int features = DataFeatures.NONE;
          if (MoleculeFeaturesTool.hasElementSymbols(molecule))
              features = features | DataFeatures.HAS_ATOM_ELEMENT_SYMBOL;
          if (GeometryUtil.has2DCoordinates(molecule)) features = features | DataFeatures.HAS_2D_COORDINATES;
          if (GeometryUtil.has3DCoordinates(molecule)) features = features | DataFeatures.HAS_3D_COORDINATES;
          if (CrystalGeometryTools.hasCrystalCoordinates(molecule))
              features = features | DataFeatures.HAS_FRACTIONAL_CRYSTAL_COORDINATES;
          if (MoleculeFeaturesTool.hasFormalCharges(molecule))
              features = features | DataFeatures.HAS_ATOM_FORMAL_CHARGES;
          if (MoleculeFeaturesTool.hasPartialCharges(molecule))
              features = features | DataFeatures.HAS_ATOM_PARTIAL_CHARGES;
          if (MoleculeFeaturesTool.hasGraphRepresentation(molecule))
              features = features | DataFeatures.HAS_GRAPH_REPRESENTATION;
          return features;
      }
docs: Determines the features present in the given {@link IAtomContainer}.
  
  @param molecule IAtomContainer to determine the features off
  
  @return integer representation of the present features