protected int FindMergePosition (int mergeOrder) { int cnt = MenuItems.Count, cur, pos; for (pos = 0; pos < cnt; ) { cur = (pos + cnt) /2; if (MenuItems[cur].MergeOrder > mergeOrder) { cnt = cur; } else { pos = cur +1; } } return pos; }