public VisualizerData(object o, Config?config = null)
        {
            Config = config ?? new Config();
            if (!Config.Path.IsNullOrWhitespace())
            {
                o = ((Expression)ResolvePath(o, Config.Path)).ExtractValue();
            }
            Source = Renderers.Invoke(Config.Formatter, o, Config.Language, out var pathSpans);

            var valueExtractor = new ValueExtractor();

            Root = new ExpressionNodeData(o, ("", ""), this, valueExtractor, pathSpans, false);
        }
 public VisualizerData(object o, Config?config = null)
 {
     Config = config ?? new Config();
     if (!Config.Path.IsNullOrWhitespace())
     {
         o = ((Expression)ResolvePath(o, Config.Path)).ExtractValue();
     }
     Source = WriterBase.Create(o, Config.Formatter, Config.Language, out var pathSpans).ToString();
     Root   = new ExpressionNodeData(o, ("", ""), this, pathSpans, false);
 }