private static bool MustWait(LuceneIndexingActivity newerActivity, LuceneIndexingActivity olderActivity) { Debug.Assert(olderActivity.Id != newerActivity.Id); if (olderActivity.NodeId == newerActivity.NodeId) { return(true); } if (olderActivity.Path == newerActivity.Path) { return(true); } if (olderActivity is LuceneTreeActivity) { if (newerActivity is LuceneTreeActivity) { return(olderActivity.IsInTree(newerActivity) || newerActivity.IsInTree(olderActivity)); } else { return(newerActivity.IsInTree(olderActivity)); } } return(newerActivity is LuceneTreeActivity && olderActivity.IsInTree(newerActivity)); }