public override async Task Load(XElement node, bool requireName = true) { await base.Load(node, requireName); var keyedValueNode = node.Element(XName.Get("KeyedValue", LoquiGenerator.Namespace)); if (keyedValueNode != null) { var dictType = new DictType_KeyedValue(); dictType.SetObjectGeneration(ObjectGen, setDefaults: false); subGenerator = dictType; await subGenerator.Load(node, requireName); subDictGenerator = dictType; } else { var dictType = new DictType_Typical(); dictType.SetObjectGeneration(ObjectGen, setDefaults: false); subGenerator = dictType; await subGenerator.Load(node, requireName); subDictGenerator = dictType; } }