/// <summary>
        /// TODO: think about how to make this async
        /// </summary>
        protected internal virtual ISchemaInfo GetSchemaInfoByVersion(byte[] schemaVersion)
        {
            try
            {
                if (schemaInfoProvider == null)
                {
                    return(null);
                }

                return(schemaInfoProvider.GetSchemaByVersion(schemaVersion));
            }
            catch (Exception e)
            {
                throw new SerializationException("Interrupted at fetching schema info for " + SchemaUtils.GetStringSchemaVersion(schemaVersion), e);
            }
        }