int id = Integer.parseInt(i);
String name = reader.readLine();
if (name.isEmpty()) {
    break;
}
map.put(name,id);
Вопрос, почему валидатор не принимает такое решение, но принимает вот такое
int id = Integer.parseInt(i);
String name = reader.readLine();

map.put(name,id);
Вообще не вижу принципиальных различий, что в первом случае занесение в мапу будет пропущено, что во втором коде , но валидатор упорно "олениться убить осмела короля"... Во всяком случае я хочу понять почему мой вариант плох, если он плох...