@Override public void destroy() throws IOException { final Set<UserGroup> ugs; try { final Backend backend = project.getCidsDataObjectBackend(); for (final UserGroup ug : user.getUserGroups()) { ug.getUsers().remove(user); backend.store(ug); } ugs = new HashSet<UserGroup>(user.getUserGroups()); user.getUserGroups().clear(); backend.delete(user); deleted = true; } catch (final Exception ex) { final String message = "could not delete user: " + user; // NOI18N LOG.error(message, ex); throw new IOException(message, ex); } project.getLookup().lookup(UserManagement.class).refreshGroups(ugs); project.getLookup().lookup(ConfigAttrManagement.class).refresh(); }