/// <summary>
        /// <para>Initializes a new instance of the <see cref="GroupMembersSetAccessTypeArg" />
        /// class.</para>
        /// </summary>
        /// <param name="group">Specify a group.</param>
        /// <param name="user">Identity of a user that is a member of <paramref name="@group"
        /// />.</param>
        /// <param name="accessType">New group access type the user will have.</param>
        public GroupMembersSetAccessTypeArg(GroupSelector @group,
                                            UserSelectorArg user,
                                            GroupAccessType accessType)
            : base(@group, user)
        {
            if (accessType == null)
            {
                throw new sys.ArgumentNullException("accessType");
            }

            this.AccessType = accessType;
        }
        /// <summary>
        /// <para>Initializes a new instance of the <see cref="MemberAccess" /> class.</para>
        /// </summary>
        /// <param name="user">Identity of a user.</param>
        /// <param name="accessType">Access type.</param>
        public MemberAccess(UserSelectorArg user,
                            GroupAccessType accessType)
        {
            if (user == null)
            {
                throw new sys.ArgumentNullException("user");
            }

            if (accessType == null)
            {
                throw new sys.ArgumentNullException("accessType");
            }

            this.User       = user;
            this.AccessType = accessType;
        }
        /// <summary>
        /// <para>Initializes a new instance of the <see cref="GroupMemberInfo" />
        /// class.</para>
        /// </summary>
        /// <param name="profile">Profile of group member.</param>
        /// <param name="accessType">The role that the user has in the group.</param>
        public GroupMemberInfo(MemberProfile profile,
                               GroupAccessType accessType)
        {
            if (profile == null)
            {
                throw new sys.ArgumentNullException("profile");
            }

            if (accessType == null)
            {
                throw new sys.ArgumentNullException("accessType");
            }

            this.Profile    = profile;
            this.AccessType = accessType;
        }