public void install() {
        try {
            if (plugin.getConfig().getBoolean("internet")) {
                try {
                    String path = plugin.getDataFolder().getParent();
                    if (download(path)) {
                        plugin.getLoggerUtility().log("Downloaded new Version!", LoggerUtility.Level.WARNING);
                        plugin.getLoggerUtility().log("BookShop will be updated on the next restart!", LoggerUtility.Level.WARNING);
                    } else {
                        plugin.getLoggerUtility().log(" Cant download new Version!", LoggerUtility.Level.WARNING);
                    }
                } catch (Exception e) {
                    plugin.getLoggerUtility().log("Error on downloading new Version!", LoggerUtility.Level.ERROR);
                    plugin.getReportHandler().report(3313, "Error on downloading new Version", e.getMessage(), "BookShop", e);
                    e.printStackTrace();
                    plugin.getLoggerUtility().log("Uncatched Exeption!", LoggerUtility.Level.WARNING);
                }
            }
            if (plugin.getConfig().getBoolean("installondownload")) {
                plugin.getLoggerUtility().log("Found Update! Installing now because of 'installondownload = true', please wait!", LoggerUtility.Level.WARNING);
            }
            try {
                plugin.getPluginManager().unloadPlugin("BookShop");
            } catch (NoSuchFieldException ex) {
                plugin.getLoggerUtility().log("Error on installing! Please check the log!", LoggerUtility.Level.ERROR);
                ex.printStackTrace();
            } catch (IllegalAccessException ex) {
                plugin.getLoggerUtility().log("Error on installing! Please check the log!", LoggerUtility.Level.ERROR);
                ex.printStackTrace();
            }
            try {
                plugin.getPluginManager().loadPlugin("BookShop");
            } catch (InvalidPluginException ex) {
                plugin.getLoggerUtility().log("Error on loading after installing! Please check the log!", LoggerUtility.Level.ERROR);
                ex.printStackTrace();
            } catch (InvalidDescriptionException ex) {
                plugin.getLoggerUtility().log("Error on loading after installing! Please check the log!", LoggerUtility.Level.ERROR);
                ex.printStackTrace();
            }
            plugin.getLoggerUtility().log("Installing finished!", LoggerUtility.Level.INFO);
        } catch (Exception w) {
            w.printStackTrace();
            plugin.getLoggerUtility().log("Uncatched Exeption!", LoggerUtility.Level.ERROR);
            plugin.getReportHandler().report(3314, "Uncatched Exeption on installing", w.getMessage(), "BookShop", w);
        }
    }