protected MaxComplexityVisitorContext(
     MaxComplexityVisitorContext context)
 {
     Schema               = context.Schema;
     FragmentPath         = context.FragmentPath;
     FieldPath            = context.FieldPath;
     Fragments            = context.Fragments;
     TypeContext          = context.TypeContext;
     _calculateComplexity = context._calculateComplexity;
     _root = context._root;
     Scope = context.Scope;
 }
 protected MaxComplexityVisitorContext(
     ISchema schema,
     ComplexityCalculation calculateComplexity)
 {
     _calculateComplexity = calculateComplexity;
     Schema       = schema;
     FragmentPath = ImmutableHashSet <string> .Empty;
     FieldPath    = ImmutableList <IOutputField> .Empty;
     Fragments    = new Dictionary <string, FragmentDefinitionNode>();
     _root        = this;
     Scope        = this;
 }
 protected MaxComplexityVisitorContext(
     ImmutableHashSet <string> fragmentPath,
     ImmutableList <IOutputField> fieldPath,
     MaxComplexityVisitorContext context)
 {
     FragmentPath         = fragmentPath;
     FieldPath            = fieldPath;
     Schema               = context.Schema;
     Fragments            = context.Fragments;
     TypeContext          = context.TypeContext;
     _calculateComplexity = context._calculateComplexity;
     _root = context._root;
     Scope = context.Scope;
 }