public static Color[] addRandomColors(Color[] currentColors, int numColors, int minTotalOffset) {
		int offset = 0;
		int r = 0, g = 0, b = 0;
		Random randGen = new Random(System.currentTimeMillis());
		Color[] colors = new Color[currentColors.length+numColors];
		for(int i = 0; i < currentColors.length; ++i) {
			colors[i] = currentColors[i];
		}
		for(int i = currentColors.length; i < colors.length; ++i) {
			offset = 0;
			while(offset < minTotalOffset) {
				r = Math.abs(randGen.nextInt()%256);
				g = Math.abs(randGen.nextInt()%256);
				b = Math.abs(randGen.nextInt()%256);
				offset = Math.abs((int) ( (double) colors[i-1].getRed()*255.0) - r) +
			  		  	 Math.abs((int) ( (double) colors[i-1].getGreen()*255.0) - g) +
			  		  	 Math.abs((int) ( (double) colors[i-1].getBlue()*255.0) - b);
			}
			colors[i] = new Color((double)r/255.0, (double)g/255.0, (double)b/255.0, 1.0);
		}
		return colors;
	}