protected void loadFromClass(Class<? extends Plugin> pluginClass) {
        Plugin plugin;
        try {
            plugin = pluginClass.getDeclaredConstructor().newInstance();
        } catch (InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {
            log.log(Level.SEVERE, pluginClass.getName() + ": load failed: " + e);
            throw new RuntimeException(e);
        }

        String pname = plugin.getPluginName();
        String prefix = Server.APPNAME + "." + pname + ".";
        SystemPropertyConfig config = new SystemPropertyConfig(prefix);
        String enable = config.get("enable", "true");

        if (! enable.equals("true")) {
            log.log(Level.INFO, pname + ": plugin disabled by config");
            return;
        }

        try {
            plugin.initPlugin(config);
            log.log(Level.FINE, pname + ": plugin loaded");
        } catch (Exception e) {
            log.log(Level.SEVERE, pname + ": init failed", e);
        }
    }
TODO: describe class

@author Stig Bakken
logserver/src/main/java/com/yahoo/logserver/AbstractPluginLoader.java