T implements comparable
public static class Node<T extends Comparable<T>> { //HERE
private T value;
public Node(T val) {
this.value = val;
}
public void insert(T val) {
if (value.compareTo(val) > 0) {
new Node<T>(val);
}
}
}