code: def resolve(self, graph):
          
          cached = graph.get(self.scoped_key)
          if cached:
              return cached
  
          component = self.create(graph)
          graph.assign(self.scoped_key, component)
          return component
docs: Resolve a scoped component, respecting the graph cache.