protected void initialize(SexpList sentence, SexpList tags) throws RemoteException {  preProcess(sentence, tags);  if (debugInit) { System.err.println(className + ": sentence to parse: " + sentence); }  this.sentence = sentence; sentLen = sentence.length();  if (useCommaConstraint) setCommaConstraintData();  HashSet tmpSet = new HashSet();  for (int i = 0; i < sentLen; i++) { boolean wordIsUnknown = sentence.get(i).isList(); boolean neverObserved = false; Symbol word = null, features = null; if (wordIsUnknown) { SexpList wordInfo = sentence.listAt(i); neverObserved = wordInfo.symbolAt(2) == Constants.trueSym; if (keepAllWords) { features = wordInfo.symbolAt(1); word = neverObserved ? features : wordInfo.symbolAt(0); } else {   word = wordInfo.symbolAt(1); } } else {  word = sentence.symbolAt(i); }  Symbol origWord = (wordIsUnknown ? sentence.listAt(i).symbolAt(0) : sentence.symbolAt(i));  SexpList tagSet = getTagSet(tags, i, word, wordIsUnknown, origWord, tmpSet);  seedChart(word, i, features, neverObserved, tagSet, wordIsUnknown, origWord, constraints);  addUnariesAndStopProbs(i, i); }
protected void initialize(SexpList sentence) throws RemoteException { initialize(sentence, null);
  protected void initialize(SexpList sentence, SexpList tags)  throws RemoteException {    preProcess(sentence, tags);    if (debugInit) {      System.err.println(className + ": sentence to parse: " + sentence);    }    this.sentence = sentence;    sentLen = sentence.length();    if (useCommaConstraint)      setCommaConstraintData();    HashSet tmpSet = new HashSet();    for (int i = 0; i < sentLen; i++) {      boolean wordIsUnknown = sentence.get(i).isList();      boolean neverObserved = false;      Symbol word = null, features = null;      if (wordIsUnknown) {	SexpList wordInfo = sentence.listAt(i);	neverObserved = wordInfo.symbolAt(2) == Constants.trueSym;	if (keepAllWords) {	  features = wordInfo.symbolAt(1);	  word = neverObserved ? features : wordInfo.symbolAt(0);	}	else {	  // we *don't* set features, since when keepAllWords is false,	  // we simply replace unknown words with their word feature vectors	  word = wordInfo.symbolAt(1);	}      }      else {	// word is a known word, so just grab it	word = sentence.symbolAt(i);      }      Symbol origWord = (wordIsUnknown ?			 sentence.listAt(i).symbolAt(0) : sentence.symbolAt(i));      SexpList tagSet =	  getTagSet(tags, i, word, wordIsUnknown, origWord, tmpSet);      seedChart(word, i, features, neverObserved, tagSet,		wordIsUnknown, origWord, constraints);      addUnariesAndStopProbs(i, i);    } // end for each word index  }