List<ShelvedChange> (@NotNull List<ShelvedChangeList> listsToDelete, @NotNull List<ShelvedChange> shelvedChanges) { List<ShelvedChange> result = new ArrayList<>(shelvedChanges); // all changes should be loaded because action performed from loaded shelf tab listsToDelete.stream().map(list -> requireNonNull(list.getChanges())).forEach(result::removeAll); return result; }