public MessageRenderer createRenderer(ClassLoader classLoader, RendererConfig rConfig)
      throws InvocationTargetException, HermesException, InstantiationException,
          IllegalAccessException, ClassNotFoundException {
    Thread.currentThread().setContextClassLoader(classLoader);
    MessageRenderer renderer =
        (MessageRenderer) classLoader.loadClass(rConfig.getClassName()).newInstance();
    MessageRenderer.Config rendererConfig = renderer.createConfig();

    if (rendererConfig != null) {
      Properties rendererProperties = HermesBrowser.getConfigDAO().getRendererProperties(rConfig);

      BeanUtils.populate(rendererConfig, rendererProperties);
    }

    renderer.setConfig(rendererConfig);

    return renderer;
  }