public static <T extends Message> ProtoCoder<T> of(Class<T> protoMessageClass) {
    return new ProtoCoder<>(protoMessageClass, ImmutableSet.of());
  }
@Test
  public void testCoderEncodeDecodeEqualNestedContext() throws Exception {
    MessageA value1 =
        MessageA.newBuilder()
            .setField1("hello")
            .addField2(MessageB.newBuilder().setField1(true).build())
            .addField2(MessageB.newBuilder().setField1(false).build())
            .build();
    MessageA value2 =
        MessageA.newBuilder()
            .setField1("world")
            .addField2(MessageB.newBuilder().setField1(false).build())
            .addField2(MessageB.newBuilder().setField1(true).build())
            .build();
    CoderProperties.coderDecodeEncodeEqual(
        ListCoder.of(ProtoCoder.of(MessageA.class)), ImmutableList.of(value1, value2));
  }