internal static Decoder GetThreadStatic(this Decoder nonDefault)
        {
            if (nonDefault != null)
            {
                nonDefault.Reset();
                return(nonDefault);
            }

            var decoder = _perThreadDecoder;

            if (decoder == null)
            {
                _perThreadDecoder = decoder = DefaultEncoding.GetDecoder();
            }
            else
            {
                decoder.Reset();
            }
            return(decoder);
        }