code: public static Object parse(String data, Class<?> clazz) {
  
          if (data == null) {
              return null;
          }
          if (clazz.equals(byte.class) || clazz.equals(Byte.class)) {
              return parseByte(data);
          }
          if (clazz.equals(short.class) || clazz.equals(Short.class)) {
              return parseShort(data);
          }
          if (clazz.equals(long.class) || clazz.equals(Long.class)) {
              return parseLong(data);
          }
          if (clazz.equals(int.class) || clazz.equals(Integer.class)) {
              return parseInt(data);
          }
          if (clazz.equals(float.class) || clazz.equals(Float.class)) {
              return parseFloat(data);
          }
          if (clazz.equals(double.class) || clazz.equals(Double.class)) {
              return parseDouble(data);
          }
          if (clazz.equals(boolean.class) || clazz.equals(Boolean.class)) {
              return parseBoolean(data);
          }
          if (clazz.equals(char.class) || clazz.equals(Character.class)) {
              return parseChar(data);
          }
          if (clazz.equals(CmsUUID.class)) {
              return parseUUID(data);
          }
          if (clazz.equals(Date.class)) {
              return parseDate(data);
          }
          return data;
      }
docs: Returns an object of the given type (or a wrapper for base types)
  with the value of the given data.<p>
  
  @param data the data to parse
  @param clazz the data type
  
  @return the value of the given data