protected ProtobufSchemaWrapper processSchema(String topic, int schemaId, MessageIndexes indexes) {
        String subject = getSubjectName(topic, isKey, null, null);
        SchemaKey key = new SchemaKey(subject, schemaId);
        try {
            CustomProtobufSchema schema = (CustomProtobufSchema) schemaRegistry.getSchemaBySubjectAndId(subject, schemaId);
            return schemaCache.computeIfAbsent(key, k -> new ProtobufSchemaWrapper(schema, indexes));
        } catch (IOException | RestClientException e) {
            throw new SerializationException("Error retrieving Protobuf schema for id " + schemaId, e);
        }
    }
Phase 3: Process and retrieve the schema

@param topic    The Kafka topic
@param schemaId The schema ID
@param indexes  The message indexes
@return The protobuf schema wrapper
core/src/main/java/kafka/automq/table/deserializer/proto/AbstractCustomKafkaProtobufDeserializer.java