docs: @SuppressWarnings("unchecked")
      public static <T> T getInstanceInitParameter(ExternalContext context, String name, 
              String deprecatedName, T defaultValue)
      {
          String param = getStringInitParameter(context, name, deprecatedName);
          if (param == null)
          {
              return defaultValue;
          }
          else
          {
              try
              {
                  return (T) ClassUtils.classForName(param).newInstance();
              }
              catch (Exception e)
              {
                  throw new FacesException("Error Initializing Object[" + param + "]", e);
              }
          }
      }