code: static <T> T getParameter(final ServletRequest pReq, final String pName, final Class<T> pType, final String pFormat, final T pDefault) {
          // Test if pDefault is either null or instance of pType
          if (pDefault != null && !pType.isInstance(pDefault)) {
              throw new IllegalArgumentException("default value not instance of " + pType + ": " + pDefault.getClass());
          }
  
          String str = pReq.getParameter(pName);
  
          if (str == null) {
              return pDefault;
          }
  
          try {
              return pType.cast(Converter.getInstance().toObject(str, pType, pFormat));
          }
          catch (ConversionException ce) {
              return pDefault;
          }
      }
docs: Gets the value of the given parameter from the request converted to
  an Object. If the parameter is not set or not parseable, the default
  value is returned.
  
  @param pReq     the servlet request
  @param pName    the parameter name
  @param pType    the type of object (class) to return
  @param pFormat  the format to use (might be {@code null} in many cases)
  @param pDefault the default value
  @return the value of the parameter converted to a boolean, or the
  default value, if the parameter is not set.
  @throws IllegalArgumentException if {@code pDefault} is
  non-{@code null} and not an instance of {@code pType}
  @throws NullPointerException     if {@code pReq}, {@code pName} or
  {@code pType} is {@code null}.
  @todo Well, it's done. Need some thinking... We probably don't want default if conversion fails...
  @see Converter#toObject