@Override SchemasRequest deserialize(Message genericMsg) { final Requests.SchemasRequest msg = ProtobufService.castProtobufMessage(genericMsg, Requests.SchemasRequest.class); final Descriptor desc = msg.getDescriptorForType(); String connectionId = null; if (ProtobufService.hasField(msg, desc, Requests.SchemasRequest.CONNECTION_ID_FIELD_NUMBER)) { connectionId = msg.getConnectionId(); } String catalog = null; if (ProtobufService.hasField(msg, desc, Requests.SchemasRequest.CATALOG_FIELD_NUMBER)) { catalog = msg.getCatalog(); } String schemaPattern = null; if (ProtobufService.hasField(msg, desc, Requests.SchemasRequest.SCHEMA_PATTERN_FIELD_NUMBER)) { schemaPattern = msg.getSchemaPattern(); } return new SchemasRequest(connectionId, catalog, schemaPattern); }