/// <summary>
        /// Exposed Used for testing only! Default values used in the initial settings frame are overridden intentionally
        /// for testing but violate the RFC if used outside the scope of testing.
        /// </summary>
        /// <param name="validateHeaders"></param>
        /// <param name="hpackDecoder"></param>
        internal DefaultHttp2HeadersDecoder(bool validateHeaders, HpackDecoder hpackDecoder)
        {
            if (hpackDecoder is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.hpackDecoder);
            }

            _hpackDecoder            = hpackDecoder;
            _validateHeaders         = validateHeaders;
            _maxHeaderListSizeGoAway = Http2CodecUtil.CalculateMaxHeaderListSizeGoAway(hpackDecoder.GetMaxHeaderListSize());
        }