public static <K extends Comparable,V,L,W> int 
         comparePairs(Pair<K,V> p, Pair<L,W> q) {
    return p.getKey().compareTo(q.getKey());  // p's key implements compareTo
  }