docs: public static Pipe newPipe(final JsonParser parser, boolean numeric) throws IOException
      {
          final JsonInput jsonInput = new JsonInput(parser, numeric);
          return new Pipe()
          {
              @Override
              protected Input begin(Pipe.Schema<?> pipeSchema) throws IOException
              {
                  if (parser.nextToken() != JsonToken.START_OBJECT)
                  {
                      throw new JsonInputException("Expected token: { but was " +
                              parser.getCurrentToken() + " on message " +
                              pipeSchema.wrappedSchema.messageFullName());
                  }
  
                  return jsonInput;
              }
  
              @Override
              protected void end(Pipe.Schema<?> pipeSchema, Input input,
                      boolean cleanupOnly) throws IOException
              {
                  if (cleanupOnly)
                  {
                      parser.close();
                      return;
                  }
  
                  assert input == jsonInput;
                  final JsonToken token = parser.getCurrentToken();
  
                  parser.close();
  
                  if (token != JsonToken.END_OBJECT)
                  {
                      throw new JsonInputException("Expected token: } but was " +
                              token + " on message " +
                              pipeSchema.wrappedSchema.messageFullName());
                  }
              }
          };
      }