code: func (f *FileStore) GetAllReferences(ctx context.Context, data io.Reader, toEncrypt bool) (addrs AddressCollection, err error) {
  	// create a special kind of putter, which only will store the references
  	putter := &hashExplorer{
  		hasherStore: NewHasherStore(f.ChunkStore, f.hashFunc, toEncrypt),
  	}
  	// do the actual splitting anyway, no way around it
  	_, wait, err := PyramidSplit(ctx, data, putter, putter)
  	if err != nil {
  		return nil, err
  	}
  	// wait for splitting to be complete and all chunks processed
  	err = wait(ctx)
  	if err != nil {
  		return nil, err
  	}
  	// collect all references
  	addrs = NewAddressCollection(0)
  	for _, ref := range putter.references {
  		addrs = append(addrs, Address(ref))
  	}
  	sort.Sort(addrs)
  	return addrs, nil
  }
docs: // GetAllReferences is a public API. This endpoint returns all chunk hashes (only) for a given file