public void PrintTo(TextWriter output)
        {
            var ex = _rootObject as Exception;
            var useCache = _config.EnableExceptionCaching && ex != null;
            if (useCache && ex.Data.Contains(CacheKey))
            {
                output.Write((string)ex.Data[CacheKey]);
                return;
            }

            _output = new IndentableTextWriter(output, _tab, _newline);
            _objectInfosPrinter = new ObjectInfosPrinter(_output, AppendValue);
            WriteObject(new ObjectInfo(_rootObject));
        }
        public void PrintTo(TextWriter output)
        {
            var ex       = _rootObject as Exception;
            var useCache = _config.EnableExceptionCaching && ex != null;

            if (useCache && ex.Data.Contains(CacheKey))
            {
                output.Write((string)ex.Data[CacheKey]);
                return;
            }

            _output             = new IndentableTextWriter(output, _tab, _newline);
            _objectInfosPrinter = new ObjectInfosPrinter(_output, AppendValue);
            WriteObject(new ObjectInfo(_rootObject));
        }