public void run() {
        plugin.log.debug("Running ShowFactoidTask (Target = " + target.getName() + ", Factoid = " + factoidID + ") [" + getTaskId() + "]");
        
        Factoid fact = plugin.getLoadedFactoids().get(factoidID);
        
        String factoidFormat = plugin.getConfig().getString("Config.Format.Factoid");
        String titleFormat = plugin.getConfig().getString("Config.Format.Title");
        String borderFormat = plugin.getConfig().getString("Config.Format.Border");
        boolean showTitle = plugin.getConfig().getBoolean("Config.Settings.ShowTitle");
        boolean showFrame = plugin.getConfig().getBoolean("Config.Settings.ShowFrame");
        
        if (fact.getShowTitle() != null) {
            showTitle = fact.getShowTitle();
        }
        if (fact.getShowFrame() != null) {
            showFrame = fact.getShowFrame();
        }
        
        String title = fact.getTitle();
        if (title == null) {
            title = fact.getId();
        }
        
        String border = "-----------------------------------------------------"; //53
        
        if (showFrame) {
            target.sendMessage(ChatColor.translateAlternateColorCodes('&', borderFormat + border));
        }
        if (showTitle) {
            target.sendMessage(ChatColor.translateAlternateColorCodes('&', titleFormat + title));
            if (showFrame) {
                target.sendMessage(ChatColor.translateAlternateColorCodes('&', borderFormat + border));
            }
        }
        
        for (String message : fact.getMessageLines()) {
            target.sendMessage(ChatColor.translateAlternateColorCodes('&', factoidFormat + message));
        }
        
        if (showFrame) {
            target.sendMessage(ChatColor.translateAlternateColorCodes('&', borderFormat + border));
        }
        
        plugin.log.debug("ShowFactoidTask Completed (Target = " + target.getName() + ", Factoid = " + factoidID + ") [" + getTaskId() + "]");
    }