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