code: private final double[] getAprxBounds(IAtomContainer mol) {
          double maxX = -Double.MAX_VALUE;
          double maxY = -Double.MAX_VALUE;
          double minX = Double.MAX_VALUE;
          double minY = Double.MAX_VALUE;
          IAtom[] boundedAtoms = new IAtom[4];
          for (int i = 0; i < mol.getAtomCount(); i++) {
              IAtom atom = mol.getAtom(i);
              if (atom.getPoint2d() != null) {
                  if (atom.getPoint2d().x < minX) {
                      minX = atom.getPoint2d().x;
                      boundedAtoms[0] = atom;
                  }
                  if (atom.getPoint2d().y < minY) {
                      minY = atom.getPoint2d().y;
                      boundedAtoms[1] = atom;
                  }
                  if (atom.getPoint2d().x > maxX) {
                      maxX = atom.getPoint2d().x;
                      boundedAtoms[2] = atom;
                  }
                  if (atom.getPoint2d().y > maxY) {
                      maxY = atom.getPoint2d().y;
                      boundedAtoms[3] = atom;
                  }
              }
          }
          double[] minmax = new double[4];
          minmax[0] = minX;
          minmax[1] = minY;
          minmax[2] = maxX;
          minmax[3] = maxY;
          double minXAdjust = adjustForHydrogen(boundedAtoms[0], mol);
          double maxXAdjust = adjustForHydrogen(boundedAtoms[1], mol);
          if (minXAdjust < 0) minmax[0] += minXAdjust;
          if (maxXAdjust > 0) minmax[1] += maxXAdjust;
          return minmax;
      }
docs: Similar to the method {@link GeometryUtil#getMinMax(IAtomContainer)} but considers
  heteroatoms with hydrogens.
  
  @param mol molecule
  @return the min/max x and y bounds