code: @SuppressForbidden("legitimate sysstreams.")
    private static void redirectStreams(final Serializer serializer, final boolean flushFrequently) {
      final PrintStream origSysOut = System.out;
      final PrintStream origSysErr = System.err;
  
      // Set warnings stream to System.err.
      warnings = System.err;
      AccessController.doPrivileged(new PrivilegedAction<Void>() {
        @SuppressForbidden("legitimate PrintStream with default charset.")
        @Override
        public Void run() {
          System.setOut(new PrintStream(new BufferedOutputStream(new ChunkedStream() {
            @Override
            public void write(byte[] b, int off, int len) throws IOException {
              if (multiplexStdStreams) {
                origSysOut.write(b, off, len);
              }
              serializer.serialize(new AppendStdOutEvent(b, off, len));
              if (flushFrequently) serializer.flush();
            }
          })));
  
          System.setErr(new PrintStream(new BufferedOutputStream(new ChunkedStream() {
            @Override
            public void write(byte[] b, int off, int len) throws IOException {
              if (multiplexStdStreams) {
                origSysErr.write(b, off, len);
              }
              serializer.serialize(new AppendStdErrEvent(b, off, len));
              if (flushFrequently) serializer.flush();
            }
          })));
          return null;
        }
      });
    }
docs: Redirect standard streams so that the output can be passed to listeners.