public void quickSort(Integer[] values, int start, int length) {
		// Check for empty or null array
		if (values == null || values.length == 0) {
			return;
		}
		if (length == 0 || (start - length) == 0) {
			return;
		}

		int p = pivot.ChoosePivot(values, start, length - 1);

		int i = partition(values, p, length);
		if (start <= i - 1) {
			quickSort(values, start, i);
		}
		if (i + 1 <= length) {
			quickSort(values, i + 1, length);
		}
	}