void (final List<List<Fragment>> fragmentsListList) { final List<CommittedChangeList> lists = new ArrayList<>(); LoadedRevisionsCache.Bunch bindAddress = null; boolean consistent = false; if (myHolesDetected) { boolean liveMet = false; for (int i = 0; i < fragmentsListList.size(); i++) { final List<Fragment> fragmentList = fragmentsListList.get(i); for (int j = 0; j < fragmentList.size(); j++) { final Fragment fragment = fragmentList.get(j); liveMet |= Origin.LIVE.equals(fragment.getOrigin()); if (Origin.INTERNAL.equals(fragment.getOrigin())) { bindAddress = ((LoadedRevisionsCache.Bunch)fragment.getOriginBunch()).getNext(); // latest element if ((i == (fragmentsListList.size() - 1)) && (j == (fragmentList.size() - 1))) { lists.addAll(fragment.getOriginBunch().getList()); consistent = fragment.getOriginBunch().isConsistentWithPrevious(); break; } } lists.addAll(fragment.getList()); } } if (!liveMet) { return; } } else { // until _first_internally for (List<Fragment> fragmentList : fragmentsListList) { for (Fragment fragment : fragmentList) { if (Origin.INTERNAL.equals(fragment.getOrigin())) { bindAddress = (LoadedRevisionsCache.Bunch)fragment.getOriginBunch(); consistent = true; break; } lists.addAll(fragment.getList()); } } } if (!lists.isEmpty()) { LoadedRevisionsCache.getInstance(myProject).put(lists, consistent, bindAddress); } }