public void mutate(double lineProb, Random rand) {

		for (ArrayList<WorkUnit> personWorkList : personWorkLists) {

			if (rand.nextDouble() < lineProb) {

				int indexA = rand.nextInt(projectSize);
				int indexB = rand.nextInt(projectSize);

				if (indexA == indexB) {
					if (indexB == projectSize - 1)
						indexB--;
					else
						indexB++;
				}

				WorkUnit temp = personWorkList.get(indexA);
				personWorkList.set(indexA, personWorkList.get(indexB));
				personWorkList.set(indexB, temp);
				
			}

		}

	}