code: def get_fragment_spreads(self, node):
      spreads = self._fragment_spreads.get(node)
      if not spreads:
          spreads = []
          sets_to_visit = [node]
          while sets_to_visit:
              _set = sets_to_visit.pop()
              for selection in _set.selections:
                  if isinstance(selection, FragmentSpread):
                      spreads.append(selection)
                  elif selection.selection_set:
                      sets_to_visit.append(selection.selection_set)
  
          self._fragment_spreads[node] = spreads
      return spreads
  
imports: from ..language.ast import FragmentDefinition, FragmentSpread, OperationDefinition
  from ..language.visitor import ParallelVisitor, TypeInfoVisitor, Visitor, visit
  from ..type import GraphQLSchema
  from ..utils.type_info import TypeInfo
  from .rules import specified_rules
label_desc: Use image node_id 8 for calling the ValidationContext obj's underlying member method code with example usage: obj.get_fragment_spreads(node) and returns: spreads