The following code populates a list of users that do not belong in an existing list 'selectedUsers'.

```
foreach (var childOrg in viewModel.ChildOrganizations)
{
    List<OrganizationUserViewModel> childOrgUsers = new List<OrganizationUserViewModel>();
    var users = this._organizationManager.GetOrganizationUsers(childOrg.OrganizationId);
    foreach (var user in users)
    {
        var userViewModel = Gateway.Instance.Map<User, OrganizationUserViewModel>(user.User);
        userViewModel.Organization_UserId = user.Organization_UserId;
        if (selectedUsers != null)
        {
            foreach (OrganizationUserViewModel selectedUser in selectedUsers)
            {
                if (selectedUser.UserId != userViewModel.UserId)
                {
                    childOrgUsers.Add(userViewModel);
                }
            }
        }
    }
    childOrg.Users = childOrgUsers;
}

```

This works fine if only one user exists within 'selectedUsers', but if there are a number of entries, multiple additions are made to the new list as a result of the foreach loop. How would I avoid this?

Thanks in advance for any help.

**EDIT:** I have just read through my question and I should probably clarify as I really haven't made it clear. As the foreach runs for each entry in the list, it is also adding entries for the selected users when the ID doesn't match up with the current entry in userViewModel. These are what I really need to focus on removing, as I want anything that is stored in selectedUsers to be absent from userViewModel. Sorry for the lack of clarification!