private static void CreateDependentSchemaScope(JsonToken token, ContextBase context, int depth, SchemaScope scope, string dependencyKey, JSchema dependencySchema) { if (!DependentSchemaAlreadyCreated(scope, dependencyKey)) { DependentSchemaScope?dependentSchemaScope = context.Validator.GetCachedScope <DependentSchemaScope>(ScopeType.DependentSchema); if (dependentSchemaScope == null) { dependentSchemaScope = new DependentSchemaScope(); } dependentSchemaScope.Initialize(context, scope, depth, ScopeType.DependentSchema); scope.AddChildScope(dependentSchemaScope); dependentSchemaScope.PropertyName = dependencyKey; dependentSchemaScope.InitializeScopes(token, new List <JSchema> { dependencySchema }, context.Scopes.Count - 1); } }