public boolean removeInvalidLinks(){
		//go over all the links and remove the ones set to false (set all the values to false)
		
		//a boolean to indicate, if something has changed
		boolean rval = false;
		
		edgeIterator.reset();
		while(edgeIterator.hasNext()){
			Edge edge = edgeIterator.next();
			if(edge.valid == false){
				edgeIterator.remove(); // remove the edge from the list of outgoing connections from this node
				edge.removeEdgeFromGraph();
				edge.free(); // return this edge to the edge factory s.t. it can be reused
				rval = true;
			}	else {
				// sets the valid flag of each 'surviving' edge to false, such that in the next round, this edge 
				//needs to be confirmed again by the connectivity model
				edge.valid = false; 
			}
		}
		return rval;
	}