code: public static IDifference difference(IChemObject first, IChemObject second) {
          if (!(first instanceof IChemObject && second instanceof IChemObject)) {
              return null;
          }
          IChemObject firstElem = (IChemObject) first;
          IChemObject secondElem = (IChemObject) second;
          ChemObjectDifference coDiff = new ChemObjectDifference("ChemObjectDiff");
          // Compare flags
          boolean[] firstFlags = firstElem.getFlags();
          boolean[] secondFlags = secondElem.getFlags();
          coDiff.addChild(BooleanArrayDifference.construct("flag", firstFlags, secondFlags));
          if (coDiff.childCount() > 0) {
              return coDiff;
          } else {
              return null;
          }
      }
docs: Compare two {@link IChemObject} classes and return the difference as an {@link IDifference}.
  
  @param first  the first of the two classes to compare
  @param second the second of the two classes to compare
  @return an {@link IDifference} representation of the difference between the first and second {@link IChemObject}.