/** * Removes the peer from the neighbor list if present in the list. Notifies listeners that a peer * is offline. * * @param remotePeer The peer that has gone offline. * @param reason The reason for going offline * @return True if the peer was in our map and was removed. */ private boolean remove(final PeerAddress remotePeer, final Reason reason) { final int classMember = classMember(remotePeer.getID()); final Map<Number160, PeerAddress> map = peerMap.get(classMember); final boolean retVal = map.remove(remotePeer.getID()) != null; if (retVal) { removeFromMaintenance(remotePeer); peerCount.decrementAndGet(); notifyRemove(remotePeer); } notifyOffline(remotePeer, reason); return retVal; }