code: @Override
      public PrintWriter getPrintWriter() throws ResourceException {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.entry(this, tc, "getPrintWriter"); 
  
          //not synchronizing here since there will be one helper
          // and most likely the setting will be serially, even if it's not, 
          // it shouldn't matter here (tracing).
          if (jdbcTraceWriter == null) {
              jdbcTraceWriter = new PrintWriter(new TraceWriter(jdbcTC), true);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.exit(this, tc, "getPrintWriter", jdbcTraceWriter); 
          return jdbcTraceWriter;
      }
docs: This returns a <code>PrintWriter</code> for a specific
  backend. The order of printwriter lookup is as follows:
  first, the returned value from the <code>externalhelper.getPrintWriter() </code>,
  which also can be overwritten by extending the helper<br>
  then, based on the trace writer (i.e. the Websphere trace setting) <br>
  
  @return
  <CODE>PrintWriter </CODE>
  @exception ResourceException if something goes wrong.