I have the following class signatures:

```
public class SkipListSet<T extends Comparable<T>> implements SortedSet<T>

```

and another class outside of SkipListSet class:

```
class Node<T extends Comparable<T>>

```

The second one acts as a wrapper class that contains the following:

```
        T data;
        List<Node<T>> tower;
        Node<T> nextNode = null;
        Node<T> prevNode = null;

```

When I try implementing compareTo() method in my Node class:

```
        public int compareTo(T somePayLoad) {
            if (this.data < somePayLoad)
                return -1;
            else if (this.data > somePayLoad)
                return 1;
            else
                return 0;
        }

```

I get the following error:

```
SkipListSet.java:171: error: bad operand types for binary operator '<'
                        if (this.data < somePayLoad)
                                      ^
  first type:  T
  second type: T
  where T is a type-variable:
    T extends Comparable<T> declared in class SkipListSet.Node

```

Why is it that I can't compare two types of T data in my compareTo method?