@Override
    public void execute() {
        Map<String, Ban> bans = plugin.getController().getBans();
        Player receiver = getReceiver();

        // prepare values
        HashMap<String, String> values = new HashMap<String, String>(2);
        values.put("{amount}", String.valueOf(bans.size()));

        // put output together
        StringBuilder builder = new StringBuilder();
        builder.append(TerminalUtil.createHeadline("TimeBan info")).append("\n");
        builder.append(MessagesUtil.formatMessage("info_ban_amount", values)).append("\n");
        if (bans.size() > 0) {
            Date unbanTime = plugin.getController().getUpcomingBan().getUntil().getTime();
            values.put("{unban}", unbanTime.toString());
            
            builder.append(MessagesUtil.formatMessage("info_next_unban", values));
        }

        String output = builder.toString();
        if (receiver == null) {
            TerminalUtil.printToConsole(output);
        } else {
            TerminalUtil.printToPlayer(receiver, output);
        }
    }