code: @Override
      public DescriptorValue calculate(IAtomContainer container) {
          IRingSet rs;
          try {
              AllRingsFinder arf = new AllRingsFinder();
              rs = arf.findAllRings(container);
          } catch (Exception e) {
              return getDummyDescriptorValue(new CDKException("Could not find all rings: " + e.getMessage()));
          }
  
          String[] fragment = new String[container.getAtomCount()];
          EStateAtomTypeMatcher eStateMatcher = new EStateAtomTypeMatcher();
          eStateMatcher.setRingSet(rs);
  
          for (IAtomContainer ring : rs.atomContainers()) {
              boolean arom = true;
              for (IBond bond : ring.bonds()) {
                  if (!bond.isAromatic()) {
                      arom = false;
                      break;
                  }
              }
              ring.setFlag(CDKConstants.ISAROMATIC, arom);
          }
  
          for (int i = 0; i < container.getAtomCount(); i++) {
              IAtomType atomType = eStateMatcher.findMatchingAtomType(container, container.getAtom(i));
              if (atomType == null) {
                  fragment[i] = null;
              } else {
                  fragment[i] = atomType.getAtomTypeName();
              }
          }
  
          double[] ret = new double[0];
          try {
              ret = calculate(container, fragment, rs);
          } catch (CDKException e) {
              e.printStackTrace();
              return getDummyDescriptorValue(new CDKException(e.getMessage()));
          }
  
          DoubleArrayResult results = new DoubleArrayResult();
          results.add(ret[0]);
          results.add(ret[1]);
          results.add(ret[2]);
  
          return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(), results,
                  getDescriptorNames());
      }
docs: The AlogP descriptor.
  
  TODO Ideally we should explicit H addition should be cached
  
  @param atomContainer the molecule to calculate on
  @return the result of the calculation