public override string ToString() { var result = new List <string>() { "Property" }; result.Add($"name=\"{Name}\""); if (Value != null) { result.Add($"value={Value}"); } if (_properties.Any()) { result.Add($"nested properties={_properties.Count}"); } return(string.Join(" ", result)); }