Володин Денис, 396, JUnit.

Вот все эти повторяющиеся строчки в каждой команде можно организовать намного проще, сделав иерархию для команд. В базовом классе ```Command``` будет метод, ```checkArgs``` или что-то в этом роде, и будет поле  с количеством аргументов. Наследник, скажем, ```CommitCommand```, вызывает ```super(...)```, передавая свое кол-во аргументов и аргументы, с которыми хотят команду вызвать, ну и прочие данные. А в конструкторе ```Command``` выполняется уже ```checkArgs```, который кидает исключение, если ```numOfArgs != args.length```. Я не настаиваю на изменении (если конечно семинарист не скажет в мою пользу), просто рассмотри этот вариант. Мб сам поменяешь.