code: @Override
      public DescriptorValue calculate(IAtom atom, IAtomContainer ac) {
  
          IAtomContainer clone;
          IAtom localAtom;
          try {
              clone = (IAtomContainer) ac.clone();
              localAtom = clone.getAtom(ac.indexOf(atom));
              AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(clone);
          } catch (CDKException e) {
              return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(), new DoubleResult(
                      Double.NaN), NAMES, e);
          } catch (CloneNotSupportedException e) {
              return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(), new DoubleResult(
                      Double.NaN), NAMES, e);
          }
  
          if (maxIterations != -1 && maxIterations != 0) electronegativity.setMaxIterations(maxIterations);
  
          double result = electronegativity.calculateSigmaElectronegativity(clone, localAtom);
  
          return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(), new DoubleResult(result),
                                     NAMES);
      }
docs: The method calculates the sigma electronegativity 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 sigma electronegativity