public List <UserGroupStatus> MissingUsersInGroups()
        {
            var results = new List <UserGroupStatus>();

            try
            {
                IDictionary <string, List <string> > usersGroups = null;
                if (SourceSiteCreds.SiteType == SiteType.WSS)
                {
                    //TODO: Get
                    usersGroups = this.SharePointRepository2007.GetWebUserGroups();
                }
                else
                {
                    usersGroups = this.SharePointRepository.GetSiteUserGroups(SourceClientContext);
                }

                foreach (var userGroup in usersGroups)
                {
                    if (!this.SharePointRepository.GroupExists(TargetClientContext, userGroup.Key))
                    {
                        continue;
                    }

                    foreach (var user in userGroup.Value)
                    {
                        string newUpn = user;
                        if (UserMapping != null && UserMapping.GetUserMappingList().Count > 0)
                        {
                            newUpn = UserMapping.FindNewUpn(user);
                        }

                        if (newUpn == string.Empty)
                        {
                            //Missing in the users mapping
                            results.Add(new UserGroupStatus
                            {
                                LoginName         = user,
                                GroupName         = userGroup.Key,
                                UserInGroupStatus = UserStatus.NotPresentInUserMapping
                            });
                            continue;
                        }
                        if (!this.SharePointRepository.UserExistsInGroup(TargetClientContext, userGroup.Key, newUpn))
                        {
                            //misisng in the group
                            results.Add(new UserGroupStatus
                            {
                                LoginName         = newUpn,
                                GroupName         = userGroup.Key,
                                UserInGroupStatus = UserStatus.NotPresentInSharePointGroup
                            });
                            continue;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Log(LogLevel.Error, ex);
            }
            return(results);
        }