code: private static void reverse(int[] array, int start, int end) {
  		for (int i = start, j = end; i < --j; ++i) {
  			int t = array[i];
  			array[i] = array[j];
  			array[j] = t;
  		}
  	}
docs: Reverses an array.
  @param array the array
  @param start the index to start at
  @param end the index to end at