code: public void printTree(final Tree t, final String id, final PrintWriter pw) {
      final boolean inXml = propertyToBoolean(options, "xml");
      if (t == null) {
        // Parsing didn't succeed.
        if (inXml) {
          pw.print("<s");
          if (id != null && ! "".equals(id)) {
            pw.print(" id=\"" + XMLUtils.escapeXML(id) + '\"');
          }
          pw.println(" skipped=\"true\"/>");
          pw.println();
        } else {
          pw.println("SENTENCE_SKIPPED_OR_UNPARSABLE");
        }
      } else {
        if (inXml) {
          pw.print("<s");
          if (id != null && ! "".equals(id)) {
            pw.print(" id=\"" + XMLUtils.escapeXML(id) + '\"');
          }
          pw.println(">");
        }
        printTreeInternal(t, pw, inXml);
        if (inXml) {
          pw.println("</s>");
          pw.println();
        }
      }
    }
docs: Prints the tree according to the options specified for this instance.
  If the tree <code>t</code> is <code>null</code>, then the code prints
  a line indicating a skipped tree.  Under the XML option this is
  an <code>s</code> element with the <code>skipped</code> attribute having
  value <code>true</code>, and, otherwise, it is the token
  <code>SENTENCE_SKIPPED_OR_UNPARSABLE</code>.
  
  @param t The tree to display
  @param id A name for this sentence
  @param pw Where to display the tree