/// <summary>
        /// Updates an existing <see cref="HyperRoleGroup{TKey, TGroupRoles, TGroupUsers}"/> in the data store.
        /// </summary>
        /// <param name="group">The group.</param>
        /// <returns></returns>
        public virtual async Task UpdateAsync(TRoleGroup group)
        {
            Helpers.ThrowIfNull(group != null, "group");

            ThrowIfDisabled();
            ThrowIfDisposed();

            //TODO: verify that host id is not changed and that global flags are allowed...

            HyperContext.Entry(group).State = EntityState.Modified;

            //TODO: if roles or users are changed

            await SaveChanges().WithCurrentCulture();
        }