code: public <Message extends PMessage<Message, Field>, Field extends PField>
      void formatTo(OutputStream out, Message message) {
          IndentedPrintWriter builder = new IndentedPrintWriter(out, indent, newline);
          if (message == null) {
              builder.append(null);
          } else {
              builder.append(message.descriptor().getQualifiedName())
                     .append(space);
              appendMessage(builder, message);
          }
          builder.flush();
      }
docs: Format message and write to the output stream.
  
  @param out The output stream to write to.
  @param message The message to be written.
  @param <Message> The message type.
  @param <Field> The field type.