title: How to preserve unknown fields using protobuf-java-format
body: <p>If I have a protobuf message with unknown fields:</p>
  <pre><code>leaf1: &quot;Hello&quot;
  leaf2: 23
  leaf3: 41
  4: &quot;world&quot;
  </code></pre>
  <p>where leaf1, leaf2, and leaf3 are my known fields, and 4 is an unknown field.  I then convert to json using protobuf-java-format like so:</p>
  <pre><code>return new JsonFormat().printToString(protobuf);
  </code></pre>
  <p>I get the following:</p>
  <p><code>{&quot;leaf1&quot;: &quot;Hello&quot;,&quot;leaf2&quot;: 23,&quot;leaf3&quot;: 41, &quot;4&quot;: &quot;world&quot;}</code></p>
  <p>However, if I then deserialize the json back like so:</p>
  <pre><code>public static &lt;T extends Message&gt; T convertToProtobuf(String json, T defaultInstance)
      throws ParseException {
      Builder builder = defaultInstance.newBuilderForType();
      JsonFormat format = new JsonFormat();
      format.merge(json, ExtensionRegistry.getEmptyRegistry(), builder);
      return (T)builder.build();
  }
  </code></pre>
  <p>then my result is the following:</p>
  <pre><code>leaf1: &quot;Hello&quot;
  leaf2: 23
  leaf3: 41
  </code></pre>
  <p>The problem is field 4 is not present in the reconstituted proto as an unknown field. Am I doing something wrong, or is this not supported? Thanks!</p>