/// <summary>
        /// Associate a user with multiple groups. This implies
        /// LDAP has been configured as the SecureAuth realm's
        /// datastore
        /// </summary>
        /// <param name="userId">The unique user ID.</param>
        /// <param name="request">The LDAP group name.</param>
        /// <returns>BaseResponse</returns>
        public GroupAssociateResponse AddGroupsToUser(string userId, GroupAssociateRequest request)
        {
            if (string.IsNullOrEmpty(userId))
            {
                throw new ArgumentNullException("userId", "User ID cannot be empty.");
            }

            return(this._apiClient.Post <GroupAssociateResponse>(string.Format("/api/v1/users/{0}/groups", userId), request));
        }
        /// <summary>
        /// Associate a group with multiple users. This implies
        /// LDAP has been configured as the SecureAuth realm's
        /// datastore
        /// </summary>
        /// <param name="groupName">The unique group name.</param>
        /// <param name="request">GroupAssociateRequest</param>
        /// <returns>BaseResponse</returns>
        public GroupAssociateResponse AddGroupsToUser(string groupName, GroupAssociateRequest request)
        {
            if (string.IsNullOrEmpty(groupName))
            {
                throw new ArgumentNullException("groupName", "Group name cannot be empty.");
            }

            return(this._apiClient.Post <GroupAssociateResponse>(string.Format("/api/v1/groups/{0}/users", groupName), request));
        }