@Override public long save(Workset workset) throws IOException { if (!workset.isSaved()) { loadMembers(workset); validateChange(workset, null); workset.setChangeDetails(authorizationManager.getCurrentUser()); return worksetStore.save(workset); } else { Workset managed = worksetStore.get(workset.getId()); validateChange(workset, managed); applyChanges(workset, managed); managed.setChangeDetails(authorizationManager.getCurrentUser()); return worksetStore.save(managed); } }