Source:
<code>public AccountGroup createGroup() throws OrmException, NameAlreadyUsedException, PermissionDeniedException { if (!currentUser.getCapabilities().canCreateGroup()) { throw new PermissionDeniedException(String.format( "%s does not have \"Create Group\" capability.", currentUser.getUserName())); } AccountGroup.Id groupId = new AccountGroup.Id(db.nextAccountGroupId()); AccountGroup.UUID uuid = GroupUUID.make( createGroupArgs.getGroupName(), currentUser.newCommitterIdent( serverIdent.getWhen(), serverIdent.getTimeZone())); AccountGroup group = new AccountGroup(createGroupArgs.getGroup(), groupId, uuid); group.setVisibleToAll(createGroupArgs.visibleToAll); if (createGroupArgs.ownerGroupId != null) { AccountGroup ownerGroup = groupCache.get(createGroupArgs.ownerGroupId); if (ownerGroup != null) { group.setOwnerGroupUUID(ownerGroup.getGroupUUID()); } } if (createGroupArgs.groupDescription != null) { group.setDescription(createGroupArgs.groupDescription); } AccountGroupName gn = new AccountGroupName(group); try { db.accountGroupNames().insert(Collections.singleton(gn)); } catch (OrmDuplicateKeyException e) { throw new NameAlreadyUsedException(createGroupArgs.getGroupName()); } db.accountGroups().insert(Collections.singleton(group)); addMembers(group, createGroupArgs.initialMembers); <START> groupIncludeCache.evictAccountsOf(uuid); <END> if (createGroupArgs.initialGroups != null) { addGroups(groupId, createGroupArgs.initialGroups); groupIncludeCache.evictMembersOf(uuid); } groupCache.onCreateGroup(createGroupArgs.getGroup()); return group; }</code><technical_language>Do need evict here? group get added cache is populated initial users</technical_language>

Target:
public AccountGroup createGroup() throws OrmException, NameAlreadyUsedException, PermissionDeniedException { if (!currentUser.getCapabilities().canCreateGroup()) { throw new PermissionDeniedException(String.format( "%s does not have \"Create Group\" capability.", currentUser.getUserName())); } AccountGroup.Id groupId = new AccountGroup.Id(db.nextAccountGroupId()); AccountGroup.UUID uuid = GroupUUID.make( createGroupArgs.getGroupName(), currentUser.newCommitterIdent( serverIdent.getWhen(), serverIdent.getTimeZone())); AccountGroup group = new AccountGroup(createGroupArgs.getGroup(), groupId, uuid); group.setVisibleToAll(createGroupArgs.visibleToAll); if (createGroupArgs.ownerGroupId != null) { AccountGroup ownerGroup = groupCache.get(createGroupArgs.ownerGroupId); if (ownerGroup != null) { group.setOwnerGroupUUID(ownerGroup.getGroupUUID()); } } if (createGroupArgs.groupDescription != null) { group.setDescription(createGroupArgs.groupDescription); } AccountGroupName gn = new AccountGroupName(group); try { db.accountGroupNames().insert(Collections.singleton(gn)); } catch (OrmDuplicateKeyException e) { throw new NameAlreadyUsedException(createGroupArgs.getGroupName()); } db.accountGroups().insert(Collections.singleton(group)); addMembers(groupId, createGroupArgs.initialMembers); if (createGroupArgs.initialGroups != null) { addGroups(groupId, createGroupArgs.initialGroups); groupIncludeCache.evictSubgroupsOf(uuid); } groupCache.onCreateGroup(createGroupArgs.getGroup()); return group; }