code: func (h *hasherStore) Get(ctx context.Context, ref Reference) (ChunkData, error) {
  	addr, encryptionKey, err := parseReference(ref, h.hashSize)
  	if err != nil {
  		return nil, err
  	}
  
  	chunk, err := h.store.Get(ctx, addr)
  	if err != nil {
  		return nil, err
  	}
  
  	chunkData := ChunkData(chunk.Data())
  	toDecrypt := (encryptionKey != nil)
  	if toDecrypt {
  		var err error
  		chunkData, err = h.decryptChunkData(chunkData, encryptionKey)
  		if err != nil {
  			return nil, err
  		}
  	}
  	return chunkData, nil
  }
docs: // Get returns data of the chunk with the given reference (retrieved from the ChunkStore of hasherStore).
  // If the data is encrypted and the reference contains an encryption key, it will be decrypted before
  // return.