code: private List<IAtomContainer> removeDuplicates(List<IAtomContainer> tautomers) throws CDKException {
          Set<String>          cansmis = new HashSet<>();
          List<IAtomContainer> result  = new ArrayList<>();
          for (IAtomContainer tautomer : tautomers) {
              if (cansmis.add(CANSMI.create(tautomer)))
                  result.add(tautomer);
          }
          LOGGER.debug("# tautomers after clean up : ", tautomers.size());
          return result;
      }
docs: Removes duplicates from a molecule set. Uses canonical SMILES to detect identical molecules.
  An example of pruning can be a case where double bonds are placed in different positions in
  an aromatic (Kekule) ring, which all amounts to one same aromatic ring.
  
  @param tautomers molecule set of tautomers with possible duplicates
  @return tautomers same set with duplicates removed
  @throws CDKException unable to calculate canonical SMILES