rem: var nextTopMessage = FindNextThread(currentTopMessage, nextThreadFunction, startFromBeginning, checkCurrentTopMessage); 
add: var nextTopMessage = msgNavigationService.FindNextThread(type, tree, currentTopMessage, RDF, document, startFromBeginning, checkCurrentTopMessage);  
context: function GoNextThread(nextThreadFunction, nextMessageFunction, nextResourceFunction, startFromBeginning, gotoNextInThread){	if(messageView.showThreads)	{		var tree = GetThreadTree();				var selArray = tree.selectedItems;		var length = selArray.length;		if ( selArray && ((length == 0) || (length == 1)) )		{			var currentMessage;			if(length == 0)				currentMessage = null;			else				currentMessage = selArray[0];			var nextMessage;			var currentTopMessage;			var checkCurrentTopMessage;			//Need to get the parent message for the current selection to begin to find thread			if(currentMessage)			{				//need to find its top level message and we don't want it to be checked for criteria				currentTopMessage = FindTopLevelMessage(currentMessage);				checkCurrentTopMessage = false;			}			else			{				//currentTopmessage is the first one in the tree and we want it to be checked for criteria.				currentTopMessage = FindFirstMessage(tree);				checkCurrentTopMessage = true;			}			var nextTopMessage = FindNextThread(currentTopMessage, nextThreadFunction, startFromBeginning, checkCurrentTopMessage);			var changeSelection = (nextTopMessage != null && ((currentTopMessage != nextTopMessage) || checkCurrentTopMessage));			if(changeSelection)			{				if(gotoNextInThread)				{					nextMessage = GetNextInThread(nextTopMessage, nextMessageFunction, nextResourceFunction);					ChangeSelection(tree, nextMessage);				}				else					ChangeSelection(tree, nextTopMessage);				}		}	}}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/4170fc4b9236a536c31f600a2e1c72350686521c/msgViewNavigation.js/buggy/mailnews/base/resources/content/msgViewNavigation.js