/// <summary> /// Visits the children of a <see cref="GroupOrphan"/>. /// </summary> /// <param name="orphan">The orphan to visit.</param> protected internal override void VisitGroup(GroupOrphan orphan) => DefaultVisit(orphan);
/// <summary> /// Visits a single <see cref="GroupOrphan"/>. /// </summary> /// <param name="orphan">The orphan to visit.</param> protected internal abstract void VisitGroup(GroupOrphan orphan);
/// <summary> /// Visits a single <see cref="GroupOrphan"/> and produces a value of type <typeparamref name="TResult"/>. /// </summary> /// <param name="orphan">The orphan to visit.</param> /// <returns>The result of visitng the orphan.</returns> protected internal abstract TResult VisitGroup(GroupOrphan orphan);
/// <summary> /// Visits the children of a <see cref="GroupOrphan"/> and replaces the orphan if any of its children are modified. /// </summary> /// <param name="orphan">The orphan to visit.</param> /// <returns>If any children were modified, a new orphan with the modified children. Otherwise, the original orphan.</returns> protected internal override PrtgOrphan VisitGroup(GroupOrphan orphan) { return(orphan.WithChildren(VisitList(orphan.Children))); }