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