docs: public Object toObject(final String pString, final Class pType, final String pFormat) throws ConversionException {
          if (pString == null) {
              return null;
          }
  	
          if (pType == null) {
              throw new MissingTypeException();
          }
  
          if (pType.isArray()) {
              return toArray(pString, pType, pFormat);
          }
  
          // TODO: Separate CollectionConverter?
          // should however, be simple to wrap array using Arrays.asList
          // But what about generic type?! It's erased...
  
          // Primitive -> wrapper
          Class type = unBoxType(pType);
  
          try {
              // Try to create instance from <Constructor>(String)
              Object value = BeanUtil.createInstance(type, pString);
  	    
              if (value == null) {
                  // createInstance failed for some reason
                  // Try to invoke the static method valueOf(String)
                  value = BeanUtil.invokeStaticMethod(type, "valueOf", pString);
  		
                  if (value == null) {
                      // If the value is still null, well, then I cannot help...
                      throw new ConversionException(String.format(
                              "Could not convert String to %1$s: No constructor %1$s(String) or static %1$s.valueOf(String) method found!",
                              type.getName()
                      ));
                  }
              }
  
              return value;
          }
          catch (InvocationTargetException ite) {
              throw new ConversionException(ite.getTargetException());
          }
          catch (ConversionException ce) {
              throw ce;
          }
          catch (RuntimeException rte) {
              throw new ConversionException(rte);
          }
      }