@Override FetchResponse deserialize(Message genericMsg) { final Responses.FetchResponse msg = ProtobufService.castProtobufMessage(genericMsg, Responses.FetchResponse.class); final Descriptor desc = msg.getDescriptorForType(); RpcMetadataResponse metadata = null; if (ProtobufService.hasField(msg, desc, Responses.FetchResponse.METADATA_FIELD_NUMBER)) { metadata = RpcMetadataResponse.fromProto(msg.getMetadata()); } return new FetchResponse(Meta.Frame.fromProto(msg.getFrame()), msg.getMissingStatement(), msg.getMissingResults(), metadata); }