     // 
     //--------------------------------------------------------------------------
 
-	/**
-	 *  Dispatches a PropertyChangeEvent clone either from a child object whose event needs to be redispatched
-	 *  or when a PropertyChangeEvent is faked inside of this class for the purposes of informing the view
-	 *  of an update to underlying data.
-	 *
-	 *  @param event The PropertyChangeEvent to be cloned and dispatched
-	 *  @param item The item within the view that was updated.
-	 *
-	 *  @see mx.core.IPropertyChangeNotifier
-	 *  @see mx.events.PropertyChangeEvent
-	 */
-	
-	private function dispatchPropertyChangeEventClone( event:PropertyChangeEvent, item:Object ):void {
-		var objEvent:PropertyChangeEvent = PropertyChangeEvent(event.clone());
-		
-		var index:int = getItemIndex( item );
-		objEvent.property = index.toString() + "." + event.property;
-		dispatchEvent(objEvent);
-	} 
-
-	/**
-	 *  Enables event dispatch for this list.
-	 */
-	private function enableEvents():void
-	{
-		_dispatchEvents++;
-		if (_dispatchEvents > 0)
-			_dispatchEvents = 0;
-	}
-	
-	/**
-	 *  Disables event dispatch for this list.
-	 *  To re-enable events call enableEvents(), enableEvents() must be called
-	 *  a matching number of times as disableEvents().
-	 */
-	private function disableEvents():void
-	{
-		_dispatchEvents--;
-	}
-	
-	/**
-	 *  Dispatches a collection event with the specified information.
-	 *
-	 *  @param kind String indicates what the kind property of the event should be
-	 *  @param item Object reference to the item that was added or removed
-	 *  @param location int indicating where in the source the item was added.
-	 */
-	private function internalDispatchEvent(kind:String, item:Object = null, location:int = -1):void
-	{
-    	if (_dispatchEvents == 0)
-    	{
-    		if (hasEventListener(CollectionEvent.COLLECTION_CHANGE))
-    		{
-		        var event:CollectionEvent =
-					new CollectionEvent(CollectionEvent.COLLECTION_CHANGE);
-		        event.kind = kind;
-		        event.items.push(item);
-		        event.location = location;
-		        dispatchEvent(event);
-		    }
-
-	    	// now dispatch a complementary PropertyChangeEvent
-	    	if (hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE) && 
-	    	   (kind == CollectionEventKind.ADD || kind == CollectionEventKind.REMOVE))
-	    	{
-	    		var objEvent:PropertyChangeEvent =
-					new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE);
-	    		objEvent.property = location;
-	    		if (kind == CollectionEventKind.ADD)
-	    			objEvent.newValue = item;
-	    		else
-	    			objEvent.oldValue = item;
-	    		dispatchEvent(objEvent);
-	    	}
-	    }
-	}
-	
+    /**
+     *  Dispatches a PropertyChangeEvent clone either from a child object whose event needs to be redispatched
+     *  or when a PropertyChangeEvent is faked inside of this class for the purposes of informing the view
+     *  of an update to underlying data.
+     *
+     *  @param event The PropertyChangeEvent to be cloned and dispatched
+     *  @param item The item within the view that was updated.
+     *
+     *  @see mx.core.IPropertyChangeNotifier
+     *  @see mx.events.PropertyChangeEvent
+     */
+    
+    private function dispatchPropertyChangeEventClone( event:PropertyChangeEvent, item:Object ):void {
+        var objEvent:PropertyChangeEvent = PropertyChangeEvent(event.clone());
+        
+        var index:int = getItemIndex( item );
+        objEvent.property = index.toString() + "." + event.property;
+        dispatchEvent(objEvent);
+    } 
+
+    /**
+     *  Enables event dispatch for this list.
+     */
+    private function enableEvents():void
+    {
+        _dispatchEvents++;
+        if (_dispatchEvents > 0)
+            _dispatchEvents = 0;
+    }
+    
+    /**
+     *  Disables event dispatch for this list.
+     *  To re-enable events call enableEvents(), enableEvents() must be called
+     *  a matching number of times as disableEvents().
+     */
+    private function disableEvents():void
+    {
+        _dispatchEvents--;
+    }
+    
+    /**
+     *  Dispatches a collection event with the specified information.
+     *
+     *  @param kind String indicates what the kind property of the event should be
+     *  @param item Object reference to the item that was added or removed
+     *  @param location int indicating where in the source the item was added.
+     */
+    private function internalDispatchEvent(kind:String, item:Object = null, location:int = -1):void
+    {
+        if (_dispatchEvents == 0)
+        {
+            if (hasEventListener(CollectionEvent.COLLECTION_CHANGE))
+            {
+                var event:CollectionEvent =
+                    new CollectionEvent(CollectionEvent.COLLECTION_CHANGE);
+                event.kind = kind;
+                event.items.push(item);
+                event.location = location;
+                dispatchEvent(event);
+            }
+
+            // now dispatch a complementary PropertyChangeEvent
+            if (hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE) && 
+               (kind == CollectionEventKind.ADD || kind == CollectionEventKind.REMOVE))
+            {
+                var objEvent:PropertyChangeEvent =
+                    new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE);
+                objEvent.property = location;
+                if (kind == CollectionEventKind.ADD)
+                    objEvent.newValue = item;
+                else
+                    objEvent.oldValue = item;
+                dispatchEvent(objEvent);
+            }
+        }
+    }
+    
     /**
      *  Called whenever any of the contained items in the list fire an
      *  ObjectChange event.  

     *  <code>theList.source.pop()</code> will not cause <code>CollectionEvents</code> 
     *  to be dispatched.
     *
	 *  @return An Vector that represents the underlying source.
     */
    public function get source():*
    {

     */
    public function VectorList(source:* = null)
    {
        super();

        disableEvents();
        this.source = source;
