/// <summary> /// Visits the children of a <see cref="ProbeOrphan"/>. /// </summary> /// <param name="orphan">The orphan to visit.</param> protected internal override void VisitProbe(ProbeOrphan orphan) => DefaultVisit(orphan);
/// <summary> /// Visits a single <see cref="ProbeOrphan"/>. /// </summary> /// <param name="orphan">The orphan to visit.</param> protected internal abstract void VisitProbe(ProbeOrphan orphan);
/// <summary> /// Visits a single <see cref="ProbeOrphan"/> 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 VisitProbe(ProbeOrphan orphan);
/// <summary> /// Visits the children of a <see cref="ProbeOrphan"/> 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 VisitProbe(ProbeOrphan orphan) { return(orphan.WithChildren(VisitList(orphan.Children))); }