Erro com ponteiro

Estou com um problema. Tenho um mapa, que possui os multiplos de vários números que foram lidos em um arquivo… os multiplos encontrados de 2 por exemplo, são armazenados em um Set.
O arquivo consulta me informar qual número vou consultar os multiplos.
Assim, na variável ‘num’ eu armazeno o número que irei procurar seus múltiplos. Armazenando lá, eu vou pegar os multiplos mapeados e colocá-los no Set ‘multiplos’, para usar o iterator e imprimir.
Onde está o comentário está o erro, está dando java.lang.NullPointerException. Deveria imprimir algum número, mesmo que fosse zero, porém dá pala. Alguém pode me ajudar?

[code]public static void consulta(Map<Integer,Set> mapa)throws Exception {
Scanner consulta = new Scanner (new File(“consulta.txt”));
FileWriter saida = new FileWriter (new File(“saida.txt”));

	int num;
	Set<Integer> multiplos = new HashSet<Integer>();
	Iterator<Integer> setIt = multiplos.iterator();
	
	for(int i = 0; consulta.hasNextLine() ; i++){
		
		num = Integer.parseInt(consulta.nextLine());
		multiplos = mapa.get(num);
		System.out.print(multiplos.size()); // erro
                    saida.write(num + ":");
		for(int j = 0; setIt.hasNext() ; j++){
			if(j + 1 == multiplos.size())
				saida.write(setIt.next());
			else
				saida.write(setIt.next() + ",");			
		}
		saida.write("\r\n");
	}
	saida.flush();
	saida.close();
}

[/code]

O que está acontecendo é essa linha:

multiplos = mapa.get(num);

Ela está atribuindo null a variável multiplos.

Ou seja, no mapa não existe nenhuma key com o valor ‘num’ .

Como posso tratar isso?

Uma abordagem seria após esta linha, vc checa se o mapa múltiplos está nulo e dar um continue.

 (! multiplos == null ) ? System.out.print(multiplos.size()) : continue

Mas depende mais do que vc pretende. Mas se for só pra mostrar, isso resolve.