A Generic Merge Sort implementation in Java