Questo codice che hai postato non "dice" più di tanto (almeno a me). Dovresti indagare tu, magari facendo del debugging o anche solo loggando certe informazioni.
Il problema tecnico è chiaro dallo stack trace:
codice:at java.util.Arrays.copyOf(Arrays.java:2734) at java.util.ArrayList.ensureCapacity(ArrayList.java:167) at java.util.ArrayList.add(ArrayList.java:351) at main.Istanza.getShortestPathTo(Istanza.java:653)
Il tuo getShortestPathTo aggiunge un elemento ad un ArrayList. L'aggiunta è tale per cui l'ArrayList deve espandere il suo array interno. Ma nella istanziazione operata da copyOf fallisce.