void (@NotNull List<? extends VirtualFile> files) { Set<VirtualFile> chosen = new HashSet<>(files); if (chosen.isEmpty()) return; Set<Object> set = myModel.data.stream().map(o -> o.first).collect(Collectors.toSet()); for (VirtualFile file : chosen) { if (!set.add(file)) continue; myModel.data.add(pair(file, getNewMapping(file))); } myModel.fireTableDataChanged(); IntList rowList = new IntArrayList(); for (int i = 0, size = myModel.data.size(); i < size; i++) { if (chosen.contains(myModel.data.get(i).first)) { rowList.add(i); } } selectRows(rowList.toIntArray(), true); }