/// <summary>calls the action on this object and all children</summary> /// <param name="action">an IAtomBaseAction interface to call </param> /// <returns>true or false, pending outcome</returns> public override bool WalkTree(IBaseWalkerAction action) { if (base.WalkTree(action)) { return(true); } foreach (AtomPerson person in Authors) { if (person.WalkTree(action)) { return(true); } } // saving Contributors foreach (AtomPerson person in Contributors) { if (person.WalkTree(action)) { return(true); } } // saving Categories foreach (AtomCategory category in Categories) { if (category.WalkTree(action)) { return(true); } } // saving the generator if (Generator != null) { if (Generator.WalkTree(action)) { return(true); } } // save the icon if (Icon != null) { if (Icon.WalkTree(action)) { return(true); } } // save the logo if (Logo != null) { if (Logo.WalkTree(action)) { return(true); } } // save the ID if (Id != null) { if (Id.WalkTree(action)) { return(true); } } // save the Links foreach (AtomLink link in Links) { if (link.WalkTree(action)) { return(true); } } if (Rights != null) { if (Rights.WalkTree(action)) { return(true); } } if (Subtitle != null) { if (Subtitle.WalkTree(action)) { return(true); } } if (Title != null) { if (Title.WalkTree(action)) { return(true); } } return(false); }