code: func (f *FetcherFactory) New(ctx context.Context, source storage.Address, peers *sync.Map) storage.NetFetcher {
  	fetcher := NewFetcher(ctx, source, f.request, f.skipCheck)
  	go fetcher.run(peers)
  	return fetcher
  }
docs: // New constructs a new Fetcher, for the given chunk. All peers in peersToSkip
  // are not requested to deliver the given chunk. peersToSkip should always
  // contain the peers which are actively requesting this chunk, to make sure we
  // don't request back the chunks from them.
  // The created Fetcher is started and returned.