public static boolean reColorIfNecessary(ArrayList<SeedNode> list) {
		boolean reColored = false;
		for (SeedNode nodeToColor : list) {
			double diploidInfluence = 0;
			double tetraploidInfluence = 0;
			for (SeedNode comparisonNode : list) {
				if (comparisonNode == nodeToColor)
					continue;
				if (comparisonNode.ploidy == SeedNode.Ploidies.DIPLOID) {
					diploidInfluence += influenceFromSeed(nodeToColor, comparisonNode);
				}
				else if (comparisonNode.ploidy == SeedNode.Ploidies.TETRAPLOID) {
					tetraploidInfluence += influenceFromSeed(nodeToColor, comparisonNode);
				}
			}
			
			if (diploidInfluence > tetraploidInfluence && nodeToColor.ploidy != SeedNode.Ploidies.TETRAPLOID) {
				nodeToColor.ploidy = SeedNode.Ploidies.TETRAPLOID;
				reColored = true;
			}
			else if (tetraploidInfluence > diploidInfluence && nodeToColor.ploidy != SeedNode.Ploidies.DIPLOID) {
				nodeToColor.ploidy = SeedNode.Ploidies.DIPLOID;
				reColored = true;
			}
		}
		return reColored;
	}