/// <summary> /// Validates the node. /// Overloaded in child classes to validate that each type of node follows the correct business logic. /// This checks stuff that isn't validated by the XML validation /// </summary> public override void ValidateNode() { base.ValidateNode(); //check for a bullet node BulletDescriptionNode = GetChild(ENodeName.bullet) as BulletNode; //if it didn't find one, check for the bulletref node if (null == BulletDescriptionNode) { //make sure that dude knows what he's doing BulletRefNode refNode = GetChild(ENodeName.bulletRef) as BulletRefNode; refNode.FindMyBulletNode(); BulletDescriptionNode = refNode.ReferencedBulletNode; } Debug.Assert(null != BulletDescriptionNode); }