BExIS.Dcm.CreateDatasetWizard.CreateTaskmanager.findPrevInstanze C# (CSharp) Method

findPrevInstanze() private method

private findPrevInstanze ( StepInfo child ) : StepInfo
child StepInfo
return StepInfo
        private StepInfo findPrevInstanze(StepInfo child)
        {
            StepInfo parent = child.Parent;
            int index = parent.Children.IndexOf(child);

            if (IsRoot(parent))
            {
                if (index > 0)
                    return Last(parent.Children.ElementAt(index - 1));
                else
                    return new StepInfo("");
            }
            else
            {
                if (!parent.IsInstanze)
                    return findPrevInstanze(parent);

                if (index > 0)
                    return parent.Children.ElementAt(index - 1);
                else
                    return parent;
            }
        }