code: private void setActiveCenters(IAtomContainer reactant) throws CDKException {
          Iterator<IAtom> atomis = reactant.atoms().iterator();
          while (atomis.hasNext()) {
              IAtom atomi = atomis.next();
              if (atomi.getFormalCharge() == 0 && reactant.getConnectedSingleElectronsCount(atomi) == 0
                      && reactant.getConnectedLonePairsList(atomi).size() > 0) {
  
                  Iterator<IBond> bondis = reactant.getConnectedBondsList(atomi).iterator();
                  while (bondis.hasNext()) {
                      IBond bondi = bondis.next();
                      if (bondi.getOrder() == IBond.Order.SINGLE) {
                          IAtom atomj = bondi.getOther(atomi);
                          if (atomj.getFormalCharge() == 1 && reactant.getConnectedSingleElectronsCount(atomj) == 0) {
                              atomi.setFlag(CDKConstants.REACTIVE_CENTER, true);
                              atomj.setFlag(CDKConstants.REACTIVE_CENTER, true);
                              bondi.setFlag(CDKConstants.REACTIVE_CENTER, true);
                          }
                      }
                  }
              }
          }
      }
docs: set the active center for this molecule.
  The active center will be those which correspond with [A+]-B|.
  <pre>
  A: Atom with positive charge
  -: Single bond
  B: Atom with lone pair electrons
  </pre>
  
  @param reactant The molecule to set the activity
  @throws CDKException