// Textbook fragment 02.A.03
  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
  }