code: @Override
      public void removeNeighbor(final TrustGraphNodeId neighbor) {
          // all modification operations are serialized
          synchronized(this) {
              // do nothing if there is no entry for the neighbor specified
              if (!contains(neighbor)) {
                  return;
              }
  
              /* first remove the neighbor from the ordering. This will 
               * prevent it from being advertised to.
               */
              removeNeighborFromOrdering(neighbor);
              removeNeighborFromRoutingTable(neighbor);
          }
      }
docs: Remove a single TrustGraphNodeId from the routing table
  
  If the node is mapped to itself, the route is removed. Otherwise this
  operation merges the two routes of the form X -> neighbor ,
  neighbor -> Y into X -> Y.
  
  If the table does not contain the referenced neighbor,
  this operation has no effect.
  
  @param neighbor the TrustGraphNodeId to remove
  @see RandomRoutingTable.removeNeighbor