public QuickSort(List liste, int debut, int fin) {


        listeComparable = liste;
        int gauche = debut - 1;
        int droite = fin + 1;

        // reset Pivot
        pivot = null;
        pivot = listeComparable.get(debut);

	    /* Si le tableau est de longueur nulle, il n'y a rien à faire. */
        if (debut >= fin)
            return;

        while (true) {
            do droite--; while (listeComparable.get(droite).compareTo((T) pivot) == BIGGER);

            do gauche++; while (listeComparable.get(gauche).compareTo((T) pivot) == SMALLER);

            if (gauche < droite)
                echanger(listeComparable, gauche, droite);
            else break;
        }

/*       for(int i = 0; i < liste.size(); i++)
        {
            listeComparable = liste;
            System.out.printf("%d ", listToTest.get(i).getPointSource());


        }
        System.out.println();*/
        /*
		 * Maintenant, tous les éléments inférieurs au pivot sont avant ceux
		 * supérieurs au pivot. On a donc deux groupes de cases à trier. On
		 * utilise pour cela... la méthode quickSort elle-même !
		 */
        new QuickSort(listeComparable, debut, droite);
        new QuickSort(listeComparable, droite + 1, fin);
/*        profondeur = profondeur- 1;
        if (profondeur == 0){
            System.out.println("Profondeur = 0!");
             liste = listeComparable;
        }*/

    }