code: func (pc *peerContainer) removeKnown(ip, id string) (events []*peerEvent) {
  	// TODO (kurkomisi): Remove peers that don't have traffic samples anymore.
  	if bundle, ok := pc.Bundles[ip]; ok {
  		if _, ok := bundle.KnownPeers[id]; ok {
  			events = append(events, &peerEvent{
  				Remove: RemoveKnown,
  				IP:     ip,
  				ID:     id,
  			})
  			delete(bundle.KnownPeers, id)
  		} else {
  			log.Warn("No peer to remove", "ip", ip, "id", id)
  		}
  		if len(bundle.KnownPeers) < 1 && len(bundle.Attempts) < 1 {
  			events = append(events, &peerEvent{
  				Remove: RemoveBundle,
  				IP:     ip,
  			})
  			delete(pc.Bundles, ip)
  		}
  	} else {
  		log.Warn("No bundle to remove", "ip", ip)
  	}
  	return events
  }
docs: // removeKnown removes the known peer belonging to the
  // given IP address and node ID from the peer tree.