private void SetRoleItems(URM.RoleItemCollection<URM.Role, URM.RoleItem> urmRoleItems, List<RoleItem> roleItems) { foreach (RoleItem roleItem in roleItems) { if (roleItem is UserRoleItem) { UserRoleItem userRoleItem = (UserRoleItem)roleItem; URM.UserItem urmUserItem = new URM.UserItem(); urmUserItem.ExtraData = userRoleItem.ExtraData; urmUserItem.Name = userRoleItem.Name; urmRoleItems.Add(urmUserItem); } else if (roleItem is GroupRoleItem) { GroupRoleItem groupRoleItem = (GroupRoleItem)roleItem; URM.GroupItem urmGroupItem = new URM.GroupItem(); urmGroupItem.ExtraData = groupRoleItem.ExtraData; urmGroupItem.Name = groupRoleItem.Name; urmRoleItems.Add(urmGroupItem); } else { throw new NotSupportedException("SmartObject RoleItems aren't supported."); } } }