Lab 9: Po pierwsze, proszę się zaznajomić z dokumentacją następujących interfejsów z typami generycznymi: - Comparable - List (implementację tego interfejsu ArrayList, znamy i używamy już od dawna) Proszę zaimplementować prosty interfejs do sortowania list, wraz z kilkoma implementacjami. Interfejs powinien być parametryzowany typem T, który rozszerza Comparable; typ ten będzie używany w sortowaniu. Obiekt sorter powinien mieć jedną metodę List sort(List a), która dla danej listy zwróci posortowaną kopię tej listy. Proszę zaimplementować dwie implementacje tego interfejsu, - jedną z jakimkolwiek kwadratowym algorytmem sortującym (np. insertions sort), oraz - jedną z jakimkolwiek liniowo-logarytmicznym (np. quicksort). Obie implementacje powinny mieć krótkie funkcje main ze sprawdzeniem na małym przykładzie, czy wszystko działa w porządku.