protected internal override ISchemaReader <IGenericRecord> LoadReader(BytesSchemaVersion schemaVersion)
        {
            var schemaInfo = GetSchemaInfoByVersion(schemaVersion.Get());

            if (schemaInfo != null)
            {
                //LOG.info("Load schema reader for version({}), schema is : {}", SchemaUtils.GetStringSchemaVersion(schemaVersion.Get()), schemaInfo);
                var writerSchema = SchemaUtils.ParseAvroSchema(schemaInfo.SchemaDefinition);
                var readerSchema = useProvidedSchemaAsReaderSchema ? ReaderSchema : writerSchema;
                //readerSchema.GetProperty.addProp(GenericAvroSchema.OFFSET_PROP, schemaInfo.Properties.GetOrDefault(GenericAvroSchema.OFFSET_PROP, "0"));

                return(new GenericAvroReader(writerSchema, readerSchema, schemaVersion.Get()));
            }
            else
            {
                //LOG.warn("No schema found for version({}), use latest schema : {}", SchemaUtils.getStringSchemaVersion(schemaVersion.get()), this.readerSchema);
                return(providerSchemaReader);
            }
        }