private static void quickSort(Comparable a[], int i, int j){
        int start = i;
        int end = j;
        if(i < j){
            Comparable temp = a[i];
            while(i < j){
                while(SortModel.less(temp, a[j]) && i < j){
                    j --;
                }
                if(i < j){
                    a[i ++] = a[j];
                }
                while(SortModel.less(a[i], temp) && i < j){
                    i ++;
                }
                if(i < j){
                    a[j ++] = a[i];
                }
            }
            if(i == j){
                a[i] = temp;
            }
            quickSort(a, start, i - 1);
            quickSort(a, i + 1, end);
        }
    }