 		{
 			internalDispatchEvent( CollectionEventKind.UPDATE, item );
 		}
-
+		
 		/**
 		 * Return an Array that is populated in the same order as the ArrayCollection.
 		 */

		{
			return _source;
		}

		/**
		 * @private
		 */

		{
			var index:int = getItemIndex( item );
			var result:Boolean = index >= 0;
			
			if ( result )
			{
				removeItemAt( index );
			}
			
			return result;
		}
		
		/**
		 * Removes the item at the specified index and returns it.
		 * Any items that were after this index are now one index earlier.
		 */
		public function removeItemAt( index:int ):*
		{
			if ( index < 0 || index >= length )
			{
				throw new RangeError( OUT_OF_BOUNDS_MESSAGE );
			}
			
			var removed:* = _source.splice( index, 1 )[ 0 ];
			internalDispatchEvent( CollectionEventKind.REMOVE, removed, index );
			return removed;
		}
		
		/**
		 * Remove all items from the ArrayCollection.
		 */
		public function removeAll():void
		{
			if ( length > 0 )
			{
				clearSource();
				internalDispatchEvent( CollectionEventKind.RESET );
			}
		}
		
		/**
		 * Remove all items from the ArrayCollection without dispatching a RESET event.
		 */
