code: func (c *InstanceCache) Get(ctx context.Context, pin common.Pin, now time.Time) (pkg.Source, error) {
  	if err := common.ValidatePin(pin, common.AnyHash); err != nil {
  		return nil, err
  	}
  
  	path, err := c.fs.RootRelToAbs(pin.InstanceID)
  	if err != nil {
  		return nil, fmt.Errorf("invalid instance ID %q", pin.InstanceID)
  	}
  
  	f, err := c.fs.OpenFile(path)
  	if err != nil {
  		return nil, err
  	}
  
  	c.withState(ctx, now, func(s *messages.InstanceCache) {
  		touch(s, pin.InstanceID, now)
  	})
  
  	return &cacheFile{f, c.fs}, nil
  }
docs: // Get searches for the instance in the cache and opens it for reading.
  //
  // If the instance is not found, returns an os.IsNotExists error.