numTags == 1 && wordIsUnknown && logPrior == logOfZero) {
numTags == 1 && wordIsUnknown && logPrior <= logOfZero) {
  protected void seedChart(Symbol word, int wordIdx, Symbol features,			   boolean neverObserved, SexpList tagSet,			   boolean wordIsUnknown, Symbol origWord,			   ConstraintSet constraints) throws RemoteException {    int i = wordIdx;    int numTags = tagSet.length();    for (int tagIdx = 0; tagIdx < numTags; tagIdx++) {      Symbol tag = tagSet.symbolAt(tagIdx);      if (!posSet.contains(tag))	System.err.println(className + ": warning: part of speech tag " +			   tag + " not seen during training");      if (useCommaConstraint)	if (Language.treebank.isConjunction(tag))	  conjForPruning[i] = true;      Word headWord = neverObserved ?		      Words.get(word, tag, features) :		      getCanonicalWord(lookupWord.set(word, tag, features));      CKYItem item = chart.getNewItem();      PriorEvent priorEvent = lookupPriorEvent;      priorEvent.set(headWord, tag);      double logPrior = server.logPrior(id, priorEvent);      if (substituteWordsForClosedClassTags &&	  numTags == 1 && wordIsUnknown && logPrior == logOfZero) {	Symbol exampleWord = getExampleWordForTag(tag);	headWord = getCanonicalWord(lookupWord.set(exampleWord, tag, features));	priorEvent.set(headWord, tag);	logPrior = server.logPrior(id, priorEvent);      }      double logProb = logPrior; // technically, logPrior + logProbCertain      item.set(tag, headWord,	       emptySubcat, emptySubcat, null, null,	       null,	       startList, startList,	       i, i,	       false, false, true,	       Constants.logProbCertain, logPrior, logProb);      if (findAtLeastOneSatisfyingConstraint) {	Constraint constraint = constraints.constraintSatisfying(item);	if (constraint != null) {	  if (debugConstraints)	    System.err.println("assigning satisfied constraint " +			       constraint + " to item " + item);	  item.setConstraint(constraint);	}	else {	  if (debugConstraints)	    System.err.println("no satisfying constraint for item " + item);	  continue;	}      }      chart.add(i, i, item);    } // end for each tag  }