@Override
    public void execute() {
        Player receiver = getReceiver();

        StringBuilder builder = new StringBuilder();
        builder.append(TerminalUtil.createHeadline("TimeBan list")).append("\n");

        List<Ban> result = plugin.getController().searchBans(search, reverse);
        if (!result.isEmpty()) {
            HashMap<String, String> values = new HashMap<String, String>(3);
            if (simple == true) {
                for (Ban b : result) {
                    values.put("{user}", b.getPlayer().getName());
                    values.put("{until}", shortFormat.format(b.getUntil().getTime()));
                    values.put("{reason}", b.getReason());

                    String message = MessagesUtil.formatMessage("list_short_result", values);
                    builder.append(message).append("\n");
                }
            } else {
                for (Ban b : result) {
                    values.put("{user}", b.getPlayer().getName());
                    values.put("{until}", b.getUntil().getTime().toString());
                    values.put("{reason}", b.getReason());

                    String message = MessagesUtil.formatMessage("list_result", values);
                    builder.append(message).append("\n");
                }
            }
        } else {
            builder.append("No results.");
        }

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