Set<TodoItem> (@Nullable TodoFilter todoFilter) { List<Change> allChanges = new ArrayList<>(); if (myIncludedChangeListsIds == null) { allChanges.addAll(ChangeListManager.getInstance(myProject).getAllChanges()); } else { for (String changeListId : myIncludedChangeListsIds) { LocalChangeList changeList = ChangeListManager.getInstance(myProject).getChangeList(changeListId); if (changeList != null) { allChanges.addAll(changeList.getChanges()); } } } List<Change> changes = new ArrayList<>(); for (Change change : allChanges) { FilePath afterPath = ChangesUtil.getAfterPath(change); VirtualFile changeFile = afterPath != null ? afterPath.getVirtualFile() : null; if (changeFile != null && myIncludedFiles.contains(changeFile)) { changes.add(change); } } TodoCheckinHandlerWorker worker = new TodoCheckinHandlerWorker(myProject, PartialChangesUtil.wrapPartialChanges(myProject, changes), todoFilter); worker.execute(); return worker.inOneList(); }