List<T> () { final List<T> items = getItems(); if (!helper.hasModifiedItems()) { return items; } helper.process((newItem, oldItem) -> { itemEditor.applyModifiedProperties(newItem, oldItem); silentlyReplaceItem(newItem, oldItem, -1); return true; }); helper.reset(items); return items; }