if (spanMatches(item) && labelMatches(item))
if (spanMatches(item) && labelMatches(item) && allChildConstraintsAreFullySatisfied())
  public boolean isSatisfiedBy(Item item) {    CKYItem ckyItem = (CKYItem)item;    // normally, preterminal items should be assigned constraints from the    // list of leaves, and thus this case should normally not be considered;    // but just in case a brain-dead programmer creates a decoder that is    // inefficient in this way, here's the code to deal with it    if (ckyItem.isPreterminal()) {      return isSatisfiedByPreterminal(ckyItem);    }    if (!isLocallySatisfiedBy(item))      return false;    satisfied = true;    if (spanMatches(item) && labelMatches(item))      fullySatisfied = true;    return true;  }