public IApiSchema Create(ApiSchemaFactorySettings apiSchemaFactorySettings)
        {
            ApiFrameworkLog.Debug($"Creating {nameof(ApiSchema)}".Indent(IndentConstants.ApiSchema));

            var apiMutableSchema = this.ApiMutableSchemaFactory.Create(apiSchemaFactorySettings);

            var apiSchema = CreateApiSchema(apiMutableSchema, this.ApiPrecedenceStack);

            var createdApiSchema = apiSchema.ToTreeString();

            ApiFrameworkLog.Information($"Created {nameof(ApiSchema)}" + "\n" + "{CreatedApiSchema}".Indent(IndentConstants.ApiSchema), createdApiSchema);

            return(apiSchema);
        }
        private void ApplyApiSchemaConventions(ApiSchemaFactorySettings apiSchemaFactorySettings)
        {
            var apiSchemaConventions = apiSchemaFactorySettings?.ApiConventionSet?.ApiSchemaConventions;

            if (apiSchemaConventions == null)
            {
                return;
            }

            var apiConventionSettings = apiSchemaFactorySettings.ApiConventionSettings;

            foreach (var apiSchemaConvention in apiSchemaConventions)
            {
                apiSchemaConvention.Apply(this, apiConventionSettings);
            }
        }