public static THub CreateHub <THub, TClient, TMulti>(this MultiHubBase <TMulti> src)
     where TMulti : class
     where TClient : class
     where THub : Hub <TClient>
 {
     return((THub)CreateHubHelper <THub, TClient, TMulti> .CreateHub(src, src));
 }
        /// <summary>
        ///             //USE SCOPED HUB ACTIVATOR ????
        /// </summary>
        /// <typeparam name="THub"></typeparam>
        /// <typeparam name="TClient"></typeparam>
        /// <typeparam name="TMultiClient"></typeparam>
        /// <param name="src"></param>
        /// <returns></returns>

        private THub CreateHubFrom <THub, TClient, TMultiClient>(MultiHubBase <TMultiClient> src)
            where THub : Hub <TClient>
            where TClient : class
            where TMultiClient : class, TClient
        {
            _logger.LogDebug($"****** CreateHubFrom {typeof(THub).Name}");

            src.CheckHub <THub>();
            var hub = _provider.GetRequiredService <THub>();

            hub.Groups  = src.Groups;
            hub.Context = src.Context;
            hub.Clients = new MultiHubCallerClientsToConcrete <TMultiClient, TClient>(src.Clients);
            return(hub);
        }
 public static THub CreateHub <THub, TMulti>(this MultiHubBase <TMulti> src)
     where TMulti : class
     where THub : Hub
 {
     return((THub)CreateHub <TMulti>(src, typeof(THub)));
 }
 public static Hub CreateHub <TMulti>(this MultiHubBase <TMulti> src, Type hub)
     where TMulti : class
 {
     return(CreateHubHelper <TMulti> .CreateHub(hub)(src, src));
 }