Сальников Дмитрий, 397, 4 задание.

Зачем делать инициализацию всех команд, когда это можно делать на лету:
commands.add(new ListCommand(t));