code: private int determineCharge(IAtomContainer mol, IAtom atom) {
          Integer q = atom.getFormalCharge();
          if (q == null)
              q = 0;
          switch (q) {
              case -3: return 7;
              case -2: return 6;
              case -1: return 5;
              case 0:
                  if (mol.getConnectedSingleElectronsCount(atom) == 1)
                      return 4;
                  return 0;
              case +1:  return 3;
              case +2:  return 2;
              case +3:  return 1;
          }
          return 0;
      }
docs: 4 = doublet radical, 5 = -1, 6 = -2, 7 = -3