code: public IChemFormat[] findChemFormats(int features) {
          if (formats == null) loadFormats();
  
          Iterator<IChemFormat> iter = formats.iterator();
          List<IChemFormat> matches = new ArrayList<IChemFormat>();
          while (iter.hasNext()) {
              IChemFormat format = (IChemFormat) iter.next();
              if ((format.getSupportedDataFeatures() & features) == features) matches.add(format);
          }
  
          return (IChemFormat[]) matches.toArray(new IChemFormat[matches.size()]);
      }
docs: Finds IChemFormats that provide a container for serialization for the
  given features. The syntax of the integer is explained in the DataFeatures class.
  
  @param  features the data features for which a IChemFormat is searched
  @return          an array of IChemFormat's that can contain the given features
  
  @see    org.openscience.cdk.tools.DataFeatures