public void randomPermutation() {
		// copy this list into a temporary list
		NodeOutgoingConnectionsList tmp = new NodeOutgoingConnectionsList(false);
		while(!this.isEmpty()) {
			tmp.push(this.pop());
		}
		java.util.Random rand = sinalgo.tools.statistics.Distribution.getRandom(); 
		while(!tmp.isEmpty()) {
			int offset = rand.nextInt(tmp.size()); // [0..size-1]
			this.append(tmp.remove(offset));
		}
	}