 		private static function sendRequest( event:TimerEvent ):void
 		{
 			if ( requestQueue.length == 0 )
+			{
 				return;
+			}
 			var req:Object = requestQueue.pop();
-			var con:XMPPConnection = req.connection;
+			var connection:XMPPConnection = req.connection;
 			var vcard:VCard = req.card;
 			var user:RosterItemVO = vcard.contact;
 


		/**
		 *
		 * @default
		 */
		public var workAddress:String;

		/**
		 *
		 * @default
		 */
		public var workCellNumber:String;

		/**
		 *
		 * @default
		 */
		public var workCity:String;

		/**
		 *
		 * @default
		 */
		public var workCountry:String;

		/**
		 *
		 * @default
		 */
		public var workFaxNumber:String;

		/**
		 *
		 * @default
		 */
		public var workPagerNumber:String;

		/**
		 *
		 * @default
		 */
		public var workPostalCode:String;

		/**
		 *
		 * @default
		 */
		public var workStateProvince:String;

		/**
		 *
		 * @default
		 */
		public var workVoiceNumber:String;

		/**
		 *
		 * @default
		 */
		private var _avatar:DisplayObject;

		/**
		 *
		 * @default
		 */
		private var _imageBytes:ByteArray;

		/**
		 *
		 * @default
		 */
		private var contact:RosterItemVO;

		/**
		 * Don't call directly VCard, use a static method and add a callback.
		 */
		public function VCard()
		{

		 * Seems to be the way a vcard is requested and then later referred to:
		 * <code>var vCard:VCard = VCard.getVCard(_connection, item);<br />
		 * vCard.addEventListener(VCardEvent.LOADED, onVCard);</code>
		 * @param connection
		 * @param user
		 * @return Reference to the VCard which will be filled once the loaded event occurs.
		 */
		public static function getVCard( connection:XMPPConnection, user:RosterItemVO ):VCard
		{
			if ( !cacheFlushTimer.running )
			{
				cacheFlushTimer.start();
				cacheFlushTimer.addEventListener( TimerEvent.TIMER, function( event:TimerEvent ):void
				{
					var tempCache:Object = cache;
					cache = {};
					for each ( var cachedCard:VCard in tempCache )
					{
						pushRequest( connection, vcard );
					}
				} );
			}

			var jidString:String = user.jid.toString();

			var cachedCard:VCard = cache[ jidString ];
			if ( cachedCard )
			{
				return cachedCard;
			}

			var vcard:VCard = new VCard();
			vcard.contact = user;
			vcard.jid = user.jid;
			cache[ jidString ] = vcard;

			pushRequest( connection, vcard );

			return vcard;
		}

		/**
		 * Add the request to the stack of requests
		 * @param connection
		 * @param vcard
		 */
		private static function pushRequest( connection:XMPPConnection, vcard:VCard ):void
		{
			if ( !requestTimer )
			{
				requestTimer = new Timer( 1, 1 );
				requestTimer.addEventListener( TimerEvent.TIMER_COMPLETE, sendRequest );
			}
			requestQueue.push( { connection: connection, card: vcard } );
			requestTimer.reset();
			requestTimer.start();
		}
