code: func (bg *Reader) cachedBlockFor(base int64) (Block, error) {
  	blk := bg.cache.Get(base)
  	if blk != nil {
  		if !blk.ownedBy(bg) {
  			return nil, ErrContaminatedCache
  		}
  		err := blk.seek(0)
  		if err != nil {
  			return nil, err
  		}
  	}
  	return blk, nil
  }
docs: // cachedBlockFor returns a non-nil Block if the Reader has access to a
  // cache and the cache holds the block with the given base and the
  // correct owner, otherwise it returns nil. If the Block's owner is not
  // correct, or the Block cannot seek to the start of its data, a non-nil
  // error is returned.