@EventHandler
    public void onTimeUnbanEvent(TimeBanUnbanEvent event) {
        String admin;
        if (event.getSender() != null && event.isSenderPlayer()) {
            admin = event.getSender().getDisplayName();
        } else {
            admin = "console";
        }

        // get ban
        Ban ban = event.getBan();
        String player = ban.getPlayer().getName();

        // prepare map with substitutions
        HashMap<String, String> values = new HashMap<String, String>(2);
        values.put("{user}", player);
        values.put("{admin}", admin);

        // unban player
        boolean successfull = plugin.getController().executeUnban(ban);
        if (successfull) {
            if (!event.isSilent()) {
                String message = MessagesUtil.formatMessage("unban_result", values);
                log.log(Level.INFO, "[TimeBan] {0}", message);

                if (event.isSenderPlayer()) {
                    event.getSender().sendMessage(message);
                }
            }
        } else {
            String message = MessagesUtil.formatMessage("unban_no_result", values);
            log.log(Level.INFO, "[TimeBan] {0}", message);

            if (event.isSenderPlayer()) {
                event.getSender().sendMessage(message);
            }
        }

    }