 package org.igniterealtime.xiff.collections
 {
+	import flash.events.Event;
 	import flash.events.EventDispatcher;
+	import flash.events.IEventDispatcher;
+	import flash.utils.Proxy;
+	import flash.utils.flash_proxy;
 	
 	import org.igniterealtime.xiff.collections.events.CollectionEvent;
 	import org.igniterealtime.xiff.collections.events.CollectionEventKind;

		public function ArrayCollection( source:Array = null )
		{
			super();
			
			if (source)
			{

	 * The ArrayCollection class is a wrapper class that exposes an Array as a
	 * collection that can be accessed and manipulated using collection methods.
	 */
	public class ArrayCollection extends Proxy implements IEventDispatcher
	{
		protected const OUT_OF_BOUNDS_MESSAGE:String = "The supplied index is out of bounds.";
		
		protected var eventDispatcher:EventDispatcher;
		
		protected var _source:Array = [];
		
		/**
