code: private static boolean adjustNumber(Class<?>[] paramTypes, Object[] args, int index) {
          if (paramTypes[index].isPrimitive()) {
              if (paramTypes[index] == int.class) {
                  args[index] = LdiIntegerConversionUtil.toInteger(args[index]);
                  return true;
              } else if (paramTypes[index] == double.class) {
                  args[index] = LdiDoubleConversionUtil.toDouble(args[index]);
                  return true;
              } else if (paramTypes[index] == long.class) {
                  args[index] = LdiLongConversionUtil.toLong(args[index]);
                  return true;
              } else if (paramTypes[index] == short.class) {
                  args[index] = LdiShortConversionUtil.toShort(args[index]);
                  return true;
              } else if (paramTypes[index] == float.class) {
                  args[index] = LdiFloatConversionUtil.toFloat(args[index]);
                  return true;
              }
          } else {
              if (paramTypes[index] == Integer.class) {
                  args[index] = LdiIntegerConversionUtil.toInteger(args[index]);
                  return true;
              } else if (paramTypes[index] == Double.class) {
                  args[index] = LdiDoubleConversionUtil.toDouble(args[index]);
                  return true;
              } else if (paramTypes[index] == Long.class) {
                  args[index] = LdiLongConversionUtil.toLong(args[index]);
                  return true;
              } else if (paramTypes[index] == Short.class) {
                  args[index] = LdiShortConversionUtil.toShort(args[index]);
                  return true;
              } else if (paramTypes[index] == Float.class) {
                  args[index] = LdiFloatConversionUtil.toFloat(args[index]);
                  return true;
              }
          }
          return false;
      }
docs: ============