     
     /**
      *  @private
-     *  Internal storage for the selectedIndices property and invalidation variables.
+     *  Internal storage for the selectedIndices property.
      */
     private var _selectedIndices:Vector.<int>;
-    private var _proposedSelectedIndices:Vector.<int> = new Vector.<int>(); 
-    private var multipleSelectionChanged:Boolean; 
+    
+	/**
+     *  @private
+     */
+	private var _proposedSelectedIndices:Vector.<int> = new Vector.<int>(); 
+    
+	/**
+     *  @private
+     */
+	private var multipleSelectionChanged:Boolean; 
     
     [Bindable("change")]
-    /**
+    
+	/**
      *  A Vector of ints representing the indices of the currently selected  
      *  item or items. 
      *  If multiple selection is disabled by setting 

import spark.layouts.supportClasses.DropLocation;

use namespace mx_internal;  //ListBase and List share selection properties that are mx_internal

/**
 *  @copy spark.components.supportClasses.GroupBase#style:alternatingItemColors

    /**
     *  @private
     */
    override protected function partAdded(partName:String, instance:Object):void
    {
        super.partAdded(partName, instance);
        if (instance == dataGroup)
        {
            dataGroup.addEventListener(
                RendererExistenceEvent.RENDERER_ADD, dataGroup_rendererAddHandler);
            dataGroup.addEventListener(
                RendererExistenceEvent.RENDERER_REMOVE, dataGroup_rendererRemoveHandler);
        }
        if (instance == scroller)
            scroller.hasFocusableChildren = hasFocusableChildren;
    }

    /**
     *  @private
     */
    override protected function partRemoved(partName:String, instance:Object):void
    {
        if (instance == dataGroup)
        {
            dataGroup.removeEventListener(
                RendererExistenceEvent.RENDERER_ADD, dataGroup_rendererAddHandler);
            dataGroup.removeEventListener(
                RendererExistenceEvent.RENDERER_REMOVE, dataGroup_rendererRemoveHandler);
        }
        
        super.partRemoved(partName, instance);
    }
    
    /**
     *  @private
     *  Called when an item has been added to this component.
     */
    override protected function itemAdded(index:int):void
    {
        adjustSelection(index, true); 
    }
    
    /**
     *  @private
     *  Called when an item has been removed from this component.
     */
    override protected function itemRemoved(index:int):void
    {
        adjustSelection(index, false);        
    }
    
    /**
