private static DialogLifecycle TryGetDialogLifecycle(IScreenBase forScreen)
 {
     return(ScreenTreeHelper
            .GetAncestorsOf(forScreen, includeSelf: true)
            .SelectMany(x => x.Children.OfType <DialogLifecycle>())
            .FirstOrDefault());
 }
 protected override IEnumerable <IScreenBase> GetHierarchyNodes(IScreenBase root)
 {
     return(ScreenTreeHelper.GetDescendantsOf(root, includeSelf: true));
 }