code: func (e *edge) loadCache(ctx context.Context) (interface{}, error) {
  	recs := make([]*CacheRecord, 0, len(e.cacheRecords))
  	for _, r := range e.cacheRecords {
  		recs = append(recs, r)
  	}
  
  	rec := getBestResult(recs)
  
  	logrus.Debugf("load cache for %s with %s", e.edge.Vertex.Name(), rec.ID)
  	res, err := e.op.LoadCache(ctx, rec)
  	if err != nil {
  		return nil, err
  	}
  
  	return NewCachedResult(res, []ExportableCacheKey{{CacheKey: rec.key, Exporter: &exporter{k: rec.key, record: rec, edge: e}}}), nil
  }
docs: // loadCache creates a request to load edge result from cache