if (leftItem.stop() == false) continue;  Iterator rightItems = chart.get(split + 1, end); while (rightItems.hasNext()) { CKYItem rightItem = (CKYItem)rightItems.next(); if (rightItem.stop()) continue;  joinItems(rightItem, leftItem, Constants.LEFT);
if (leftItem.stop()) { rightItems = chart.get(split + 1, end); while (rightItems.hasNext()) { CKYItem rightItem = (CKYItem)rightItems.next(); if (!rightItem.stop()) joinItems(rightItem, leftItem, Constants.LEFT); }
  protected void completeOld(int start, int end) throws RemoteException {    for (int split = start; split < end; split++) {      Iterator leftItems = chart.get(start, split);      while (leftItems.hasNext()) {        CKYItem leftItem = (CKYItem)leftItems.next();        if (leftItem.stop())          continue;        // for all left modificands that have not received stop probs        Iterator rightItems = chart.get(split + 1, end);        while (rightItems.hasNext()) {          CKYItem rightItem = (CKYItem)rightItems.next();          if (rightItem.stop() == false)            continue;          // for all right modifiers that have received their stop probs          joinItems(leftItem, rightItem, Constants.RIGHT);        }      }      leftItems = chart.get(start, split);      while (leftItems.hasNext()) {        CKYItem leftItem = (CKYItem)leftItems.next();        if (leftItem.stop() == false)          continue;        // for all left modifiers that have received their stop probs        Iterator rightItems = chart.get(split + 1, end);        while (rightItems.hasNext()) {          CKYItem rightItem = (CKYItem)rightItems.next();          if (rightItem.stop())            continue;          // for all right modificands that have not received their stop probs          joinItems(rightItem, leftItem, Constants.LEFT);        }      }    }    addUnariesAndStopProbs(start, end);    chart.prune(start, end);  }