Jak jsem řekl, vytvořil jsem objekty nejjednodušším způsobem, ale výsledkem je, že je to špatně seřazené respektive první prvek není na začátku.
Stačí si to představit jako dvě pole, z kterých si vytvořil jedno, ale v nesprávném pořadí.
V tomhle případě to je jednodušší udělat takhle.
...
paths = Stream.concat(paths.subList(22, 40).stream(), paths.subList(0, 22).stream()).collect(Collectors.toCollection(ArrayList::new));
paths2 = Stream.concat(paths2.subList(22, 40).stream(), paths2.subList(0, 22).stream()).collect(Collectors.toCollection(ArrayList::new));
...
Nevím, jestli je to ideální, ale určitě lepší než předchozí varianta.
I přesto děkuji