ProtobufSerializer { ProtobufSerializerSnapshot snapshot() { return snapshot; } private  ProtobufSerializer(Parser<M> parser, ProtobufSerializerSnapshot snapshot); static ProtobufSerializer<M> forMessageGeneratedClass(Class<M> type); void serialize(M record, DataOutputView target); M deserialize(DataInputView source); void copy(DataInputView source, DataOutputView target); ProtobufSerializer<M> duplicate();  }
@Test public void testSnapshot() { ProtobufSerializer<SimpleMessage> serializer = ProtobufSerializer.forMessageGeneratedClass(SimpleMessage.class); ProtobufSerializerSnapshot snapshot = serializer.snapshot(); assertThat(snapshot.getGeneratedJavaName(), is(SimpleMessage.class.getName())); assertThat(snapshot.getMessageName(), is(SimpleMessage.getDescriptor().getFullName())); assertThat(snapshot.getDescriptorSet(), notNullValue()); }