Implementations of different QuickSort algorithms using Java Generics