code: public static Comparable canonicalizeForHashLookup(Comparable value) {
          if (value instanceof Number) {
              return Numbers.canonicalizeForHashLookup(value);
          }
  
          return value;
      }
docs: Canonicalizes the given {@link Comparable} value for the purpose of a
  hash-based lookup.
  <p>
  Special numeric canonicalization logic is used for {@link Double},
  {@link Long}, {@link Float}, {@link Integer}, {@link Short} and
  {@link Byte}. See {@link Numbers#canonicalizeForHashLookup} for more
  details.
  
  @param value the {@link Comparable} to canonicalize.
  @return a canonical representation of the given {@link Comparable} or
  the original {@link Comparable} if there is no special canonical
  representation for it.