code: def __init__(self, context):
      super(OverlappingFieldsCanBeMerged, self).__init__(context)
      # A memoization for when two fragments are compared "between" each other for
      # conflicts. Two fragments may be compared many times, so memoizing this can
      # dramatically improve the performance of this validator.
      self._compared_fragments = PairSet()
  
      # A cache for the "field map" and list of fragment names found in any given
      # selection set. Selection sets may be asked for this information multiple
      # times, so this improves the performance of this validator.
      self._cached_fields_and_fragment_names = {}
  
imports: import itertools
  from collections import OrderedDict
  from ...error import GraphQLError
  from ...language import ast
  from ...language.printer import print_ast
  from ...pyutils.pair_set import PairSet
  from ...type.definition import GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType, get_named_type, is_leaf_type
  from ...utils.type_comparators import is_equal_type
  from ...utils.type_from_ast import type_from_ast
  from .base import ValidationRule
label_desc: Use image node_id 1 to create a new OverlappingFieldsCanBeMerged object from inherited base classes: ValidationRule with example: obj = OverlappingFieldsCanBeMerged(context)