code: public static boolean equal(Comparable lhs, Comparable rhs) {
          assert lhs != null;
  
          if (rhs == null) {
              return false;
          }
  
          if (lhs.getClass() == rhs.getClass()) {
              return lhs.equals(rhs);
          }
  
          if (lhs instanceof Number && rhs instanceof Number) {
              return Numbers.equal((Number) lhs, (Number) rhs);
          }
  
          return lhs.equals(rhs);
      }
docs: Checks the provided {@link Comparable} instances for equality.
  <p>
  Special numeric comparison logic is used for {@link Double}, {@link Long},
  {@link Float}, {@link Integer}, {@link Short} and {@link Byte}. See
  {@link Numbers#equal(Number, Number)} for more details.
  
  @param lhs the left-hand side {@link Comparable}. Can't be {@code null}.
  @param rhs the right-hand side {@link Comparable}. May be {@code null}.
  @return {@code true} if the provided comparables are equal, {@code false}
  otherwise.