public boolean updateConnections(Node n) throws WrongConfigurationException{
		boolean edgeAdded = false;
		
		// For the given node n, retrieve only the nodes which are possible neighbor candidates. This 
		// is possible because of the rMax filed of the GeometricNodeCollection, which indicates the maximum
		// distance between any two connected points.
		Enumeration<Node> pNE = Runtime.nodes.getPossibleNeighborsEnumeration(n);
		while( pNE.hasMoreElements() ){
			Node possibleNeighbor = pNE.nextElement();
			if(n.ID != possibleNeighbor.ID){
				// if the possible neighbor is connected with the the node: add the connection to the outgoing connection of n 
				if(isConnected(n, possibleNeighbor)){
					// add it to the outgoing Edges of n. The EdgeCollection itself checks, if the Edge is already contained
					
					edgeAdded = !n.outgoingConnections.add(n, possibleNeighbor, true) || edgeAdded; // note: don't write it the other way round, otherwise, the edge is not added if edgeAdded is true.
				} 
			}
		}
		// loop over all edges again and remove edges that have not been marked 'valid' in this round
		boolean dyingLinks = n.outgoingConnections.removeInvalidLinks(); 

		return edgeAdded || dyingLinks; // return whether an edge has been added or removed.
	}