code: public IAtom getNextPlacedHeavyAtomWithUnplacedAliphaticNeighbour(IAtomContainer molecule) {
          Iterator<IBond> bonds = molecule.bonds().iterator();
          while (bonds.hasNext()) {
              IBond bond = bonds.next();
              IAtom atom0 = bond.getBegin();
              IAtom atom1 = bond.getEnd();
              if (atom0.getFlag(CDKConstants.ISPLACED) && !(atom1.getFlag(CDKConstants.ISPLACED))) {
                  if (isAliphaticHeavyAtom(atom1) && isHeavyAtom(atom0)) {
                      return atom0;
                  }
              }
              if (atom1.getFlag(CDKConstants.ISPLACED) && !(atom0.getFlag(CDKConstants.ISPLACED))) {
                  if (isAliphaticHeavyAtom(atom0) && isHeavyAtom(atom1)) {
                      return atom1;
                  }
              }
          }
          return null;
      }
docs: Gets the nextPlacedHeavyAtomWithAliphaticPlacedNeigbor from an atom container or molecule.
  
  @param molecule
  @return    The nextUnplacedHeavyAtomWithUnplacedAliphaticNeigbor
  author: steinbeck,cho