code: @SuppressWarnings("unchecked")
    private int unsafeCompare(Object k1, Object k2) {
      Comparator<? super K> comparator = comparator();
      if (comparator == null) {
        return ((Comparable<Object>) k1).compareTo(k2);
      } else {
        return ((Comparator<Object>) comparator).compare(k1, k2);
      }
    }
docs: unsafe, but worst case is a CCE is thrown, which callers will be expecting