code: func newRoutingTable(k int, dht *DHT) *routingTable {
  	root := newRoutingTableNode(newBitmap(0))
  
  	rt := &routingTable{
  		RWMutex:        &sync.RWMutex{},
  		k:              k,
  		root:           root,
  		cachedNodes:    newSyncedMap(),
  		cachedKBuckets: newKeyedDeque(),
  		dht:            dht,
  		clearQueue:     newSyncedList(),
  	}
  
  	rt.cachedKBuckets.Push(root.bucket.prefix.String(), root.bucket)
  	return rt
  }
docs: // newRoutingTable returns a new routingTable pointer.