public CharArrayTextWriter Lease()
            {
                CharArrayTextWriter writer;

                if (_cache.TryPop(out writer))
                {
                    return(writer);
                }

                writer = _parent?.Lease();
                if (writer != null)
                {
                    return(writer);
                }

                return(new CharArrayTextWriter());
            }