code: @Override
  	public void addEndpoint(T endpoint) {
  		if (endpoints.length == 0) {
  			endpoints = new Endpoint[1];
  			endpoints[0] = endpoint;
  		} else {
  			for (int i = 0; i < endpoints.length; i++) {
  				if (endpoints[i].equals(endpoints)) {
  
  					// Already registered
  					return;
  				}
  			}
  
  			// Add to array
  			Endpoint[] copy = new Endpoint[endpoints.length + 1];
  			System.arraycopy(endpoints, 0, copy, 0, endpoints.length);
  			copy[endpoints.length] = endpoint;
  			endpoints = copy;
  		}
  
  		// Remove from cache
  		endpointCache.remove(endpoint.getNodeID());
  	}
docs: --- ADD A LOCAL OR REMOTE ENDPOINT ---