public void CleanEverything() {// called once in a while
    for (Map.Entry<Zone, RouteEntry> kvp0 : this.Routing.entrySet()) {
      RouteEntry endpoint = kvp0.getValue();
      if (endpoint.ClosestNbr.Dead) {
        endpoint.ClosestNbr.UnRefMe();
        /*
         if (endpoint.ClosestNbr.RefCount <= 0) {// if nbr is dead, AND no routes reference it, delete it.
         Neighbors.remove(endpoint.ClosestNbr.Nbr);
         }
         */
        endpoint.ClosestNbr = null;// guarantee a crash if bad code tries to use this again.
        this.Routing.remove(kvp0.getKey());
        endpoint.DeleteMe();
      }
    }

    Node[] keys = new Node[this.Neighbors.size()];
    this.Neighbors.keySet().toArray(keys);
    for (int cnt = 0; cnt < keys.length; cnt++) {
      Node key = keys[cnt];
      NbrInfo nbr = this.Neighbors.get(key);
      if (nbr.Dead) {
        if (nbr.RefCount <= 0) {// if nbr is dead, AND no routes reference it, delete it.
          Neighbors.remove(key);
          nbr.DeleteMe();
        }
      }
    }
    /*
     in C++, make this a flexray. then every node has an int ID and a place to go.
     packing means traversing the whole tree. 
     adding by ID is easy, removing by ID is easy. 

     so I get a real packet, check its origin ID.
     look it up in routing flexray
     if not found then reject packet
     if found then get the routing entry, then look up the neighbor in the neighbor table. (refcounts?)
     if nbrstat is deprecated then remove me from routing table(do this) // OR turn on this route entry's deprecate flag. 

     hm, all we saved in routing table was best nbr for forwarding. 
     if nbr is gone we done got nothing. fine, then either reject the packet (for now) or ask all remaining nbrs for a replacement. 

     next,
     add a nbr happens independently. not all nbrs are in routing table right away.
     handled high-level. a nbr and I are made aware of each other and we add entre si to our nbr tables. 

     VennoMesh
     VenoMesh
     VennRoad
     ViaVenn
     VennWay
     VennHorizon
     PlanetVenn
     VennScape
     VennSpace
     VennRoute

     Vennscape - best so far
     Venniverse
    
     */
  }