class ReloadCommand implements ExecutableCommand {

    @Override
    public void executeCommand(CommandSender sender, List<String> arguments) {
        try {
            settings.reload();
            ConsoleLogger.setLoggingOptions(settings);
            settingsWarner.logWarningsForMisconfigurations();

            // We do not change database type for consistency issues, but we'll output a note in the logs
            if (!settings.getProperty(DatabaseSettings.BACKEND).equals(dataSource.getType())) {
                Utils.logAndSendMessage(sender, "Note: cannot change database type during /authme reload");
            }
            performReloadOnServices();
            commonService.send(sender, MessageKey.CONFIG_RELOAD_SUCCESS);
        } catch (Exception e) {
            sender.sendMessage("Error occurred during reload of AuthMe: aborting");
            ConsoleLogger.logException("Aborting! Encountered exception during reload of AuthMe:", e);
            plugin.stopOrUnload();
        }
    }

}