code: public Object convertIfNeed(Object arg) { // #date_parade
          if (propertyType.isPrimitive()) {
              return convertPrimitiveWrapper(arg);
          } else if (Number.class.isAssignableFrom(propertyType)) {
              return convertNumber(arg);
          } else if (java.util.Date.class.isAssignableFrom(propertyType)) {
              return convertDate(arg);
              // no prepared conversion logic so cannot, while no need to convert heres
              //} else if (LocalDate.class.isAssignableFrom(propertyType)) {
              //    return DfTypeUtil.toLocalDate(arg);
              //} else if (LocalDate.class.isAssignableFrom(propertyType)) {
              //    return DfTypeUtil.toLocalDate(arg);
              //} else if (LocalDateTime.class.isAssignableFrom(propertyType)) {
              //    return DfTypeUtil.toLocalDateTime(arg);
          } else if (Boolean.class.isAssignableFrom(propertyType)) {
              return LdiBooleanConversionUtil.toBoolean(arg);
          } else if (arg != null && arg.getClass() != String.class && String.class == propertyType) {
              return arg.toString();
          } else if (arg instanceof String && !String.class.equals(propertyType)) {
              return convertWithString(arg);
          } else if (java.util.Calendar.class.isAssignableFrom(propertyType)) {
              return LdiCalendarConversionUtil.toCalendar(arg);
          }
          return arg;
      }
docs: =========