code: func NewSync(root common.Hash, database ethdb.Reader, callback LeafCallback) *Sync {
  	ts := &Sync{
  		database: database,
  		membatch: newSyncMemBatch(),
  		requests: make(map[common.Hash]*request),
  		queue:    prque.New(nil),
  	}
  	ts.AddSubTrie(root, 0, common.Hash{}, callback)
  	return ts
  }
docs: // NewSync creates a new trie data download scheduler.