code: def cached_node_creator(self, target_to_vts):
      
      def creator(target):
        vt = target_to_vts[target]
        if vt.valid and os.path.exists(self.nodes_json(vt.results_dir)):
          try:
            with open(self.nodes_json(vt.results_dir), 'r') as fp:
              return Node.from_cacheable_dict(json.load(fp),
                                              lambda spec: next(self.context.resolve(spec).__iter__()))
          except Exception:
            self.context.log.warn("Can't deserialize json for target {}".format(target))
            return Node(target.concrete_derived_from)
        else:
          self.context.log.warn("No cache entry for {}".format(target))
          return Node(target.concrete_derived_from)
  
      return creator
docs: Strategy restores dependency graph node from the build cache.