Почему метод break не выполняет свою функцию? в условии ведь ясно прописано что если числа нет то break
package com.javarush.task.task10.task1019;
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
HashMap<String, Integer>map=new HashMap<>();
for(int i=0;i<17;i++){
Integer id = Integer.parseInt(reader.readLine());
if(id==null)break;
String name = reader.readLine();
map.put(name,id);
}
for(Map.Entry<String,Integer>pair:map.entrySet()) {
String i = pair.getKey();
Integer s = pair.getValue();
System.out.println(s + " " + i);
}
}
}