docs: private static <E extends Comparable<E>> void sort(List<E> list, int start, int end, boolean descending) {
          if(start >= end) {
              return ;
          }
  
          int pivot = 0;
          
          if(descending) {
              pivot = Quicksort.partitionDescending(list, start, end);
          }
          else {
              pivot = Quicksort.partition(list, start, end);
          }
          
          Quicksort.sort(list, start, pivot - 1, descending);
          Quicksort.sort(list, pivot + 1, end, descending);   
      }