code: func NewPackageReader(r io.ReaderAt, size int64) (*PackageReader, error) {
  	zr, err := zip.NewReader(r, size)
  	if err != nil {
  		// Note: we rely here (and in other places where we return errors) on
  		// zip.Reader NOT wrapping errors from 'r', so they inherit transient tags
  		// in case of transient Google Storage errors.
  		return nil, err
  	}
  	return &PackageReader{zr}, nil
  }
docs: // NewPackageReader opens the package by reading its directory.