System.Windows.Automation.TreeWalker.TreeIterator.GetNextDirectSibling C# (CSharp) Method

GetNextDirectSibling() private method

private GetNextDirectSibling ( AutomationElement element ) : AutomationElement
element AutomationElement
return AutomationElement
			private AutomationElement GetNextDirectSibling (AutomationElement element)
			{
				AutomationElement parent = TreeWalker.RawViewWalker.GetParent (element);
				AutomationElement nextSibling = null;

				if (parent == AutomationElement.RootElement)
					lock (TreeWalker.RawViewWalker.directChildrenLock) {
						int nextIndex = TreeWalker.RawViewWalker.directChildren.IndexOf (element) + 1;
						if (nextIndex > -1 && nextIndex < TreeWalker.RawViewWalker.directChildren.Count)
							nextSibling = TreeWalker.RawViewWalker.directChildren [nextIndex];
						else
							nextSibling = null;
					}
				else
					nextSibling = SourceManager.GetOrCreateAutomationElement (element.SourceElement.NextSibling);

				return nextSibling;
			}