/// <inheritdoc/>
        public ICloseFuture CloseNow()
        {
            lock (_syncRoot)
            {
                if (Closing)
                {
                    return(_closeFuture);
                }

                _closing = true;

                try
                {
                    Destroy();
                }
                catch (Exception e)
                {
                    FilterChain.FireExceptionCaught(e);
                }
            }
            FilterChain.FireFilterClose();
            return(_closeFuture);
        }