docs: private static <E extends Comparable<E>> int partition(List<E> list, int start, int end) {
          E pivot = list.get(end);
          int index = start - 1;
          
          for(int j = start; j < end; j++) {
              if(list.get(j).compareTo(pivot) <= 0) {
                  index++;
                  TrivialSwap.swap(list, index, j);
              }
          }
          
          TrivialSwap.swap(list, index + 1, end);
          
          return index + 1;
      }