code: func (sto *overlayStorage) Fetch(ctx context.Context, br blob.Ref) (file io.ReadCloser, size uint32, err error) {
  	if sto.isDeleted(br) {
  		return nil, 0, os.ErrNotExist
  	}
  
  	file, size, err = sto.upper.Fetch(ctx, br)
  	if err != os.ErrNotExist {
  		return file, size, err
  	}
  
  	return sto.lower.Fetch(ctx, br)
  }
docs: // Fetch the blob by trying first the upper and then lower.
  // The lower storage is checked only if the blob was not deleleted in sto itself.