public Element this [string key] { get { if (jsonParent != null) return jsonParent [key]; if (map == null) return null; Element res; if (map.TryGetValue (key, out res)) return res; return null; } }