docs: public static List<I_CmsResourceWrapper> createResourceWrappersFromConfiguration(
          CmsParameterConfiguration config,
          String paramName,
          Log log)
      throws CmsConfigurationException {
  
          List<I_CmsResourceWrapper> wrapperObjects = Lists.newArrayList();
          if (config.containsKey(paramName)) {
              List<String> wrappers = config.getList(paramName);
              for (String wrapperString : wrappers) {
                  wrapperString = wrapperString.trim();
                  String className;
                  String configString = null;
                  int separatorPos = wrapperString.indexOf(WRAPPER_CONFIG_SEPARATOR);
                  if (separatorPos < 0) {
                      className = wrapperString;
                  } else {
                      className = wrapperString.substring(0, separatorPos);
                      configString = wrapperString.substring(separatorPos + 1);
                  }
  
                  Class<?> nameClazz;
  
                  // init class for wrapper
                  try {
                      nameClazz = Class.forName(className);
                  } catch (ClassNotFoundException e) {
                      log.error(Messages.get().getBundle().key(Messages.LOG_WRAPPER_CLASS_NOT_FOUND_1, className), e);
                      wrapperObjects.clear();
                      break;
                  }
  
                  I_CmsResourceWrapper wrapper;
                  try {
                      wrapper = (I_CmsResourceWrapper)nameClazz.newInstance();
                      if (configString != null) {
                          wrapper.configure(configString);
                      }
                  } catch (InstantiationException e) {
                      throw new CmsConfigurationException(
                          Messages.get().container(Messages.ERR_INVALID_WRAPPER_NAME_1, wrapperString));
                  } catch (IllegalAccessException e) {
                      throw new CmsConfigurationException(
                          Messages.get().container(Messages.ERR_INVALID_WRAPPER_NAME_1, wrapperString));
                  } catch (ClassCastException e) {
                      throw new CmsConfigurationException(
                          Messages.get().container(Messages.ERR_INVALID_WRAPPER_NAME_1, wrapperString));
                  }
  
                  wrapperObjects.add(wrapper);
  
                  if (CmsLog.INIT.isInfoEnabled()) {
                      CmsLog.INIT.info(
                          Messages.get().getBundle().key(Messages.INIT_ADD_WRAPPER_1, wrapper.getClass().getName()));
                  }
              }
          }
          return wrapperObjects;
      }