Allora in teoria un array, una mappa una volta salvata a meno che tu non gli fai un ArrayList map = null o coa del genere in teoria non dovrebbe mai perdersi.

Quindi il mio consiglio è quello di metterti in debug e di visualizzare sia prima che passi il controllo al metodo per stampare il pdf che dopo se il tuo ArrayList sia veramente popolato o meno.

Piccolo accorgimento, se le tue celle hanno sempre colspan =1 non c'è bisogno di settarlo ogni volta.



for (int j = 0; j < map.size(); j++) { PdfPCell cellMap = new PdfPCell(); cellMap.setColspan(1); pdftable.addCell(cellMap); }
Qui comunque ti stamperà sempre bianco nel PdfPCell ricordati di mettere il contenuto dell'ArrayList

in teoria il codice che hai scritto non dovrebbe avere problemi.

magari appena entri nel metodo del pdf fai

System.out.println(map.size); vedi se almeno ha qualcosa o ti arriva già nullo qui.