code: public static Object box(Object property, Class<?> to) {
  		if (property instanceof Exception) {
  			throw new RuntimeException((Exception) property);
  		}
  		if (property == null) {
  			return property;
  		}
  
  		if (property.getClass().equals(to)) {
  			return property;
  		}
  
  		if (property instanceof String && String.class.isAssignableFrom(to)) {
  			return property;
  		}
  
  		if ((property instanceof String || property instanceof Boolean) && Boolean.class.isAssignableFrom(to)) {
  			if (((String) property).equalsIgnoreCase("true") || property.equals("1")) {
  				return true;
  			}
  			if (((String) property).equalsIgnoreCase("false") || property.equals("0")) {
  				return false;
  			}
  		}
  
  		if ((property instanceof String || property instanceof Integer) && Integer.class.isAssignableFrom(to)) {
  			if (((String) property).isEmpty()) {
  				return 0;
  			}
  			return new Integer(property.toString());
  		}
  
  		if ((property instanceof String || property instanceof Integer || property instanceof Long) && Long.class.isAssignableFrom(to)) {
  			if (((String) property).isEmpty()) {
  				return 0L;
  			}
  			return new Long(property.toString());
  		}
  
  		if ((property instanceof String || property instanceof Double) && Double.class.isAssignableFrom(to)) {
  			if (((String) property).isEmpty()) {
  				return 0D;
  			}
  			return new Double(property.toString());
  		}
  
  		return to.cast(property);
  	}
docs: <p>
  box.
  </p>
  
  @param property
  a {@link java.lang.Object} object.
  @param to
  a {@link java.lang.Class} object.
  @return a {@link java.lang.Object} object.