if (topLogProb <= logOfZero) continue;
if (findAtLeastOneSatisfyingConstraint) { if (debugConstraints) System.err.println(className + ": sentence-spanning item has constraint " + item.getConstraint()); } if (isomorphicTreeConstraints) { Constraint parent = item.getConstraint().getParent(); if (debugConstraints) System.err.println(className + ": parent constraint is " + parent); if (!(parent == null || parent == constraints.root())) continue; }
  protected void addTopUnaries(int end) throws RemoteException {    topProbItemsToAdd.clear();    Iterator sentSpanItems = chart.get(0, end);    while (sentSpanItems.hasNext()) {      CKYItem item = (CKYItem)sentSpanItems.next();      if (item.stop()) {	HeadEvent headEvent = lookupHeadEvent;	headEvent.set(item.headWord(), topSym, (Symbol)item.label(),		      emptySubcat, emptySubcat);	double topLogProb = server.logProbTop(id, headEvent);	double logProb = item.logTreeProb() + topLogProb;	if (debugTop)	  System.err.println(className +			     ": item=" + item + "; topLogProb=" + topLogProb +			     "; item.logTreeProb()=" + item.logTreeProb() +			     "; logProb=" + logProb);	if (topLogProb <= logOfZero)	  continue;	CKYItem newItem = chart.getNewItem();	newItem.set(topSym, item.headWord(),		    emptySubcat, emptySubcat, item,		    null, null, startList, startList, 0, end,		    false, false, true, logProb, Constants.logProbCertain,		    logProb);        newItem.hasAntecedent(item);	topProbItemsToAdd.add(newItem);      }    }    Iterator toAdd = topProbItemsToAdd.iterator();    while (toAdd.hasNext())      chart.add(0, end, (CKYItem)toAdd.next());  }