/**
  * Add plugin to be loaded and cached. If plugin is already created, then just return it.
  *
  * @param className The class to load
  * @return The plugin
  */
 public Plugin addPlugin(String className, Class clazz)
     throws ClassNotFoundException, IllegalAccessException, InstantiationException {
   if (this.plugins.containsKey(className)) {
     return this.getPlugin(className);
   }
   Logger.log("PluginManager.addPlugin(" + className + ")");
   Plugin plugin = (Plugin) clazz.newInstance();
   this.plugins.put(className, plugin);
   plugin.setContext(this.ext);
   return plugin;
 }