class AtomicNumberDifferenceDescriptor extends AbstractBondDescriptor implements IBondDescriptor {

    @Override
    public DescriptorValue calculate(IBond bond, IAtomContainer ac) {
        ensureIsotopeFactory();
        if (bond.getAtomCount() != 2) {
            return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(), new DoubleResult(
                    Double.NaN), NAMES, new CDKException("Only 2-center bonds are considered"));
        }

        IAtom[] atoms = BondManipulator.getAtomArray(bond);

        return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(), new DoubleResult(
                Math.abs(factory.getElement(atoms[0].getSymbol()).getAtomicNumber()
                                 - factory.getElement(atoms[1].getSymbol()).getAtomicNumber())), NAMES);
    }

    public  AtomicNumberDifferenceDescriptor();

}