object GetFirstCommandTarget (CommandTargetRoute targetRoute)
{
delegatorStack.Clear ();
visitedTargets.Clear ();
handlerFoundInMulticast = false;
object cmdTarget;
if (targetRoute.InitialTarget != null)
cmdTarget = targetRoute.InitialTarget;
else {
cmdTarget = GetActiveWidget (GetCurrentFocusedTopLevelWindow ());
if (cmdTarget == null) {
cmdTarget = globalHandlerChain;
}
}
visitedTargets.Add (cmdTarget);
return cmdTarget;
}