code: public static CoordinateCoverage get2DCoordinateCoverage(IAtomContainer container) {
  
          if (container == null || container.getAtomCount() == 0) return CoordinateCoverage.NONE;
  
          int count = 0;
  
          for (IAtom atom : container.atoms()) {
              count += atom != null && atom.getPoint2d() != null ? 1 : 0;
          }
  
          return count == 0 ? CoordinateCoverage.NONE : count == container.getAtomCount() ? CoordinateCoverage.FULL
                  : CoordinateCoverage.PARTIAL;
  
      }
docs: Determines the coverage of this {@link IAtomContainer}'s 2D coordinates. If all atoms are
  non-null and have 2D coordinates this method will return {@link CoordinateCoverage#FULL}. If
  one or more atoms does have 2D coordinates and any others atoms are null or are missing 2D
  coordinates this method will return {@link CoordinateCoverage#PARTIAL}. If all atoms
  are null or are all missing 2D coordinates this method will return {@link CoordinateCoverage#NONE}. If
  the provided container is null {@link CoordinateCoverage#NONE} is also returned.
  
  @param container the container to inspect
  
  @return {@link CoordinateCoverage#FULL}, {@link CoordinateCoverage#PARTIAL} or {@link CoordinateCoverage#NONE}
  depending on the number of 3D coordinates present
  
  @see CoordinateCoverage
  @see #has2DCoordinates(org.openscience.cdk.interfaces.IAtomContainer)
  @see #get3DCoordinateCoverage(org.openscience.cdk.interfaces.IAtomContainer)
  @see org.openscience.cdk.interfaces.IAtom#getPoint2d()