  */
 package org.igniterealtime.xiff.im
 {
+	import flash.events.EventDispatcher;
+
 	import mx.collections.ArrayCollection;
-	
-	import flash.events.EventDispatcher;
-	import flash.utils.Dictionary;
-	
+
 	import org.igniterealtime.xiff.core.*;
 	import org.igniterealtime.xiff.data.*;
 	import org.igniterealtime.xiff.data.im.*;
 	import org.igniterealtime.xiff.events.*;
-	
+
 	/**
 	 * Broadcast whenever someone revokes your presence subscription. This is not
 	 * an event that is fired when you revoke a subscription, but rather when one of your

			ExtensionClassRegistry.register( RosterExtension );
			return true;
		}
		
		/**
		 * Adds a contact to the roster. Remember: All roster data is managed on the server-side,
		 * so this contact is added to the server-side roster first, and upon successful addition,

		{
			return _connection;
		}

		public function set connection( value:XMPPConnection ):void
		{
			_connection = value;
			_connection.addEventListener( PresenceEvent.PRESENCE, handleEvent );
			_connection.addEventListener( LoginEvent.LOGIN, handleEvent );
			_connection.addEventListener( RosterExtension.NS, handleEvent );
		}

		public override function set filterFunction(f:Function):void
		{
			throw new Error( "Setting the filterFunction on Roster is not allowed; Wrap it in a ListCollectionView and filter that." );
		}
	}
}
