code: @Override
  	public PrintWriter getWriter() throws IOException {
  		if (outputStream != null) {
  			throw new IOException("getOutputStream method has been called on this response");
  		}
  
  		if (printWriter == null) {
  			stringWriter = new StringWriter();
  			printWriter = new PrintWriter(stringWriter);
  		}
  
  		return printWriter;
  	}
docs: Returns a PrintWriter that would normally be used to write content back to the client. Instead, the content is
  held internally and may be retrieved by calling {@link #getOutput()}.
  
  @return a PrintWriter to write content to.
  @throws IOException if {@link #getOutputStream()} has been called.