public ICompletes <T> ActorOf <T>(IAddress address)
        {
            var actor = directory.ActorOf(address);

            if (actor != null)
            {
                return(Completes().With(Stage.ActorAs <T>(actor)));
            }

            return(Completes().With(default(T)));
        }
        private T InternalActorOf <T>(IAddress address)
        {
            var actor = directory.ActorOf(address);

            try
            {
                if (actor != null)
                {
                    return(Stage.ActorAs <T>(actor));
                }

                Logger.Debug($"Actor with address: {address} not found; protocol is: {typeof(T).Name}");
            }
            catch (Exception ex)
            {
                Logger.Error($"Error providing protocol: {typeof(T).Name} for actor with address: {address}", ex);
            }

            return(default !);