if (logProb <= Constants.logOfZero)
if (logProb <= logOfZero)
  protected List addStopProbs(CKYItem item, List itemsAdded)    throws RemoteException {    if (!(item.leftSubcat().empty() && item.rightSubcat().empty()))      return itemsAdded;    /*    SexpList leftPrevMods =      getPrevMods(item, item.leftPrevMods(), item.leftChildren());    SexpList rightPrevMods =      getPrevMods(item, item.rightPrevMods(), item.rightChildren());    */    // technically, we should getPrevMods for both lists here, but there    // shouldn't be skipping of previous mods because of generation of stopSym    SexpList leftPrevMods = item.leftPrevMods();    SexpList rightPrevMods = item.rightPrevMods();    tmpChildrenList.set(null, item.leftChildren());    WordList leftPrevWords = getPrevModWords(item, tmpChildrenList);    tmpChildrenList.set(null, item.rightChildren());    WordList rightPrevWords = getPrevModWords(item, tmpChildrenList);    ModifierEvent leftMod = lookupLeftStopEvent;    leftMod.set(stopWord, item.headWord(), stopSym, leftPrevMods,                leftPrevWords,                (Symbol)item.label(), item.headLabel(), item.leftSubcat(),                item.leftVerb(), Constants.LEFT);    ModifierEvent rightMod = lookupRightStopEvent;    rightMod.set(stopWord, item.headWord(), stopSym, rightPrevMods,                 rightPrevWords,                 (Symbol)item.label(), item.headLabel(),                 item.rightSubcat(), item.rightVerb(), Constants.RIGHT);    if (debugStops) {    }    if (isomorphicTreeConstraints) {      if (!item.getConstraint().isSatisfiedBy(item)) {        if (debugConstraints)          System.err.println("constraint " + item.getConstraint() +                             " is not satisfied by item " + item);        return itemsAdded;      }    }    double leftLogProb = server.logProbMod(id, leftMod);    if (leftLogProb <= Constants.logOfZero)      return itemsAdded;    double rightLogProb = server.logProbMod(id, rightMod);    if (rightLogProb <= Constants.logOfZero)      return itemsAdded;    double logTreeProb =      item.logTreeProb() + leftLogProb + rightLogProb;    double logPrior = item.logPrior();    double logProb = logTreeProb + logPrior;    if (debugStops) {      if (item.start() == 0 && item.end() == 5 && item.label() == baseNP) {	System.err.println(className + ".addStopProbs: adding stops to item " +			   item);      }    }    if (logProb <= Constants.logOfZero)      return itemsAdded;    CKYItem newItem = chart.getNewItem();    newItem.set((Symbol)item.label(), item.headWord(),                item.leftSubcat(), item.rightSubcat(),                item.headChild(),                item.leftChildren(), item.rightChildren(),                item.leftPrevMods(), item.rightPrevMods(),                item.start(), item.end(), item.leftVerb(),                item.rightVerb(), true, logTreeProb, logPrior, logProb);    if (isomorphicTreeConstraints) {      if (debugConstraints)        System.err.println("assigning satisfied constraint " +                           item.getConstraint() + " to " + newItem);      newItem.setConstraint(item.getConstraint());    }    boolean added = chart.add(item.start(), item.end(), newItem);    if (added)      itemsAdded.add(newItem);    else      chart.reclaimItem(newItem);    return itemsAdded;  }