1. Было разрешено оставить все как есть.
2. Не было сказано сделать приватные классы публичными, поэтому все рассуждения мимо кассы. [Вроде как](http://stackoverflow.com/questions/7633631/java-compilation-of-a-java-file-without-a-public-class) можно непубличные классы вынести в отдельные файлы.