code: @Override
      public DescriptorValue calculate(IAtom atom, IAtomContainer ac) {
          double polarizability;
          try {
              // FIXME: for now I'll cache a few modified atomic properties, and restore them at the end of this method
              String originalAtomtypeName = atom.getAtomTypeName();
              Integer originalNeighborCount = atom.getFormalNeighbourCount();
              Integer originalHCount = atom.getImplicitHydrogenCount();
              Integer originalValency = atom.getValency();
              IAtomType.Hybridization originalHybridization = atom.getHybridization();
              boolean originalFlag = atom.getFlag(CDKConstants.VISITED);
              Double originalBondOrderSum = atom.getBondOrderSum();
              Order originalMaxBondOrder = atom.getMaxBondOrder();
              polarizability = pol.calculateGHEffectiveAtomPolarizability(ac, atom, 100, true);
              // restore original props
              atom.setAtomTypeName(originalAtomtypeName);
              atom.setFormalNeighbourCount(originalNeighborCount);
              atom.setValency(originalValency);
              atom.setImplicitHydrogenCount(originalHCount);
              atom.setFlag(CDKConstants.VISITED, originalFlag);
              atom.setHybridization(originalHybridization);
              atom.setMaxBondOrder(originalMaxBondOrder);
              atom.setBondOrderSum(originalBondOrderSum);
              return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(), new DoubleResult(
                      polarizability), getDescriptorNames());
          } catch (Exception ex1) {
              return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(), new DoubleResult(
                      Double.NaN), getDescriptorNames(), ex1);
          }
      }
docs: The method calculates the Effective Atom Polarizability of a given atom
  It is needed to call the addExplicitHydrogensToSatisfyValency method from the class tools.HydrogenAdder.
  
  @param  atom              The IAtom for which the DescriptorValue is requested
  @param  ac                AtomContainer
  @return                   return the effective polarizability