code: func (dest *Destination) implicitWithdraw(newPath *Path) {
  	found := -1
  	for i, path := range dest.knownPathList {
  		if newPath.NoImplicitWithdraw() {
  			continue
  		}
  		// Here we just check if source is same and not check if path
  		// version num. as newPaths are implicit withdrawal of old
  		// paths and when doing RouteRefresh (not EnhancedRouteRefresh)
  		// we get same paths again.
  		if newPath.GetSource().Equal(path.GetSource()) && newPath.GetNlri().PathIdentifier() == path.GetNlri().PathIdentifier() {
  			log.WithFields(log.Fields{
  				"Topic": "Table",
  				"Key":   dest.GetNlri().String(),
  				"Path":  path,
  			}).Debug("Implicit withdrawal of old path, since we have learned new path from the same peer")
  
  			found = i
  			newPath.GetNlri().SetPathLocalIdentifier(path.GetNlri().PathLocalIdentifier())
  			break
  		}
  	}
  	if found != -1 {
  		dest.knownPathList = append(dest.knownPathList[:found], dest.knownPathList[found+1:]...)
  	}
  }
docs: // Identifies which of known paths are old and removes them.
  //
  // Known paths will no longer have paths whose new version is present in
  // new paths.