if (debugRestorePrunedWords) System.err.println(className + ": restoring pruned word " + newWordObj + " at index " + wordIdx);
  protected int restorePrunedWordsRecursive(Sexp tree, int wordIdx) {    Treebank treebank = Language.treebank;    if (treebank.isPreterminal(tree))      ;    else if (tree.isList()) {      SexpList treeList = tree.list();      for (int i = 1; i < treeList.length(); i++) {	Sexp currChild = treeList.get(i);	if (treebank.isPreterminal(currChild)) {	  Word word = treebank.makeWord(currChild);	  while (word.word() != originalSentence.get(wordIdx)) {	    Symbol newWord = originalSentence.symbolAt(wordIdx);	    Symbol newTag =	      originalTags == null ?	      newWord : originalTags.listAt(wordIdx).first().symbol();	    Word newWordObj = Words.get(newWord, newTag);	    // add new word as left-sibling of current word	    treeList.add(i, treebank.constructPreterminal(newWordObj));	    i++;	    wordIdx++;	  }	  wordIdx++;	}	else	  wordIdx = restorePrunedWordsRecursive(currChild, wordIdx);      }    }    return wordIdx;  }