code: @Override
      protected synchronized void writeStreamOutput(SystemLogHolder holder, String txt, boolean rawStream) {
          if (holder == systemErr && capturedSystemErr != null) {
              // clear the hushed stream if there was an error using it
              capturedSystemErr = writeCapturedData(holder, txt, capturedSystemErr);
          } else if (holder == systemOut && capturedSystemOut != null) {
              // clear the hushed stream if there was an error using it
              capturedSystemOut = writeCapturedData(holder, txt, capturedSystemOut);
          } else {
              super.writeStreamOutput(holder, txt, rawStream);
          }
      }
docs: This overrides the BaseTraceService method that writes output to the
  system streams. If the output is for a captured stream, we shunt the output
  over to that stream instead.
  <p>
  We're relying on the BaseTraceService to manage set/restore of system streams.
  The SharedOutputManager makes sure that Tr as a whole is started/stopped...
  (in the event restoreStreams() is missed.