      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    protected function adjustSelectedIndex(newIndex:int):void
+    protected function adjustSelection(newIndex:int, add:Boolean=false):void
     {
         if (_proposedSelectedIndex != NO_PROPOSED_SELECTION)
             _proposedSelectedIndex = newIndex;

        // If an item is added before the selected item, bump up our
        // selected index backing variable. 
        if (index <= selectedIndex)
            adjustSelectedIndex(selectedIndex + 1);
    }
    
    /**

                    selectedIndex = 0;
            }
            else
                adjustSelection(-1);
        }
        else if (index < selectedIndex)
        {
            // An item below the selected index has been removed, bump
            // the selected index backing variable.
            adjustSelection(selectedIndex - 1);
        }
    }
    
