code: public void print(Object obj) throws IOException {
  	    if (writer != null) {
  	        writer.write(String.valueOf(obj));
  	    } else {
  	        write(String.valueOf(obj));
  	    }
      }
docs: Print an object.  The string produced by the <code>{@link
  java.lang.String#valueOf(Object)}</code> method is translated into bytes
  according to the platform's default character encoding, and these bytes
  are written in exactly the manner of the
  <code>{@link #write(int)}</code> method.
  
  @param obj The <code>Object</code> to be printed
  @throws IOException