public BulkUpdateAdminsResult bulkUpdate(Username currentUser, List<String> usersToAdd, List<String> usersToRemove, List<String> rolesToAdd, List<String> rolesToRemove, String md5) { Set<Admin> existingAdmins = new HashSet<>(systemAdmins()); BulkUpdateAdminsResult result = validateUsersAndRolesForBulkUpdate(usersToRemove, rolesToRemove, existingAdmins); if (!result.isSuccessful()) { return result; } usersToAdd.forEach(user -> existingAdmins.add(new AdminUser(user))); rolesToAdd.forEach(role -> existingAdmins.add(new AdminRole(role))); usersToRemove.forEach(user -> existingAdmins.remove(new AdminUser(new CaseInsensitiveString(user)))); rolesToRemove.forEach(role -> existingAdmins.remove(new AdminRole(new CaseInsensitiveString(role)))); AdminsConfigUpdateCommand command = new AdminsConfigUpdateCommand(goConfigService, new AdminsConfig(existingAdmins), currentUser, result, entityHashingService, md5); updateConfig(currentUser, result, command); result.setAdminsConfig(command.getEntity()); return result; }