private Vector shuffle(Vector v) {
	
	// Working in arrays is just a good deal easier 
	// than working out the Vector positions.
	
	Object [] vectorArray = new Object[v.size()];

	for (int i = 0; i < numberOfAgents; i++)
	    vectorArray[i] = v.elementAt(i);
	
        for(int i = 0; i < numberOfAgents; i++){

	    int j = (int)(Math.random()*numberOfAgents);

            if (i != j) {
                Object temp = vectorArray[i];
		vectorArray[i] = vectorArray[j];
		vectorArray[j] = temp;

            }
        }

	v.removeAllElements();
	for (int i = 0; i < numberOfAgents; i++)
	    v.add(vectorArray[i]);
	
	return v;
    }