public static void shuffle(int[] array) {
		if (array == null || array.length == 0) {
			return;
		}

		Random rnd = random;
		if (rnd == null) {
			random = rnd = new Random();
		}

		for (int i = array.length; i > 1; i--) {
			int newIndex = rnd.nextInt(i);
			int tmp = array[i - 1];
			array[i - 1] = array[newIndex];
			array[newIndex] = tmp;
		}

	}