ah ora ho capito....
nel mio caso creavo un solo oggetto e lo modificavo di volta in volta, mentre ora crea tanti oggetti i1 (eliminando il vecchio ad una nuova new perché non ha riferimenti) diversi tra loro....

grazie, proverò questa soluzione e vedo se funziona anche nell'altro progetto (più grande) che usa sempre le mappe


ps
non sapevo ci fosse bisogno dell'override dei metodi equals e hashCode