Insertion sort generic on any any datatype that implements Comparable interface