docs: private static MethodHandle selectNumberTransformer(Class param, Object arg) {
          param = TypeHelper.getWrapperClass(param);
  
          if (param == Byte.class) {
              return TO_BYTE;
          } else if (param == Character.class || param == Integer.class) {
              return TO_INT;
          } else  if (param == Long.class) {
              return TO_LONG;
          } else if (param == Float.class) {
              return TO_FLOAT;
          } else if (param == Double.class) {
              return TO_DOUBLE;
          } else if (param == BigInteger.class) {
              return TO_BIG_INT;
          } else if (param == BigDecimal.class) {
              if (arg instanceof Double) {
                  return DOUBLE_TO_BIG_DEC;
              } else if (arg instanceof Long) {
                  return LONG_TO_BIG_DEC;
              } else if (arg instanceof BigInteger) {
                  return BIG_INT_TO_BIG_DEC;
              } else {
                  return DOUBLE_TO_BIG_DEC_WITH_CONVERSION;
              }
          } else if (param == Short.class) {
              return TO_SHORT;
          } else {
               return null;
          }
      }