/// <inheritdoc />
        public ServerApplicationBase([NotNull] NetworkAddressInfo serverAddress, [NotNull] INetworkMessageDispatchingStrategy <BaseGameServerPayload, BaseGameClientPayload> messageHandlingStrategy, [NotNull] IManagedSessionFactory managedSessionFactory, [NotNull] IManagedClientSessionFactory managedClientSessionFactory)
            : base(serverAddress, messageHandlingStrategy, new NoOpLogger())
        {
            if (serverAddress == null)
            {
                throw new ArgumentNullException(nameof(serverAddress));
            }
            if (messageHandlingStrategy == null)
            {
                throw new ArgumentNullException(nameof(messageHandlingStrategy));
            }
            ManagedSessionFactory       = managedSessionFactory ?? throw new ArgumentNullException(nameof(managedSessionFactory));
            ManagedClientSessionFactory = managedClientSessionFactory ?? throw new ArgumentNullException(nameof(managedClientSessionFactory));

            if (Logger.IsDebugEnabled)
            {
                Logger.Debug($"Created server base.");
            }
        }
        /// <inheritdoc />
        public ServerApplicationBase([NotNull] NetworkAddressInfo serverAddress, [NotNull] ILog logger, [NotNull] IManagedSessionFactory managedSessionFactory, [NotNull] IManagedClientSessionFactory managedClientSessionFactory)
            : base(serverAddress, logger)
        {
            if (serverAddress == null)
            {
                throw new ArgumentNullException(nameof(serverAddress));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            ManagedSessionFactory       = managedSessionFactory ?? throw new ArgumentNullException(nameof(managedSessionFactory));
            ManagedClientSessionFactory = managedClientSessionFactory ?? throw new ArgumentNullException(nameof(managedClientSessionFactory));

            if (Logger.IsDebugEnabled)
            {
                Logger.Debug($"Created server base.");
            }
        }