code: func (x *Index) InitBlobSource(blobSource blobserver.FetcherEnumerator) {
  	x.Lock()
  	defer x.Unlock()
  	if x.blobSource != nil {
  		panic("blobSource of Index already set")
  	}
  	x.blobSource = blobSource
  	if x.KeyFetcher == nil {
  		x.KeyFetcher = blobSource
  	}
  }
docs: // TODO(mpl): I'm not sure there are any cases where we don't want the index to
  // have a blobSource, so maybe we should phase out InitBlobSource and integrate it
  // to New or something. But later.
  // InitBlobSource sets the index's blob source and starts the background
  // out-of-order indexing loop. It panics if the blobSource is already set.
  // If the index's key fetcher is nil, it is also set to the blobSource
  // argument.