 
 		/**
 		 * The way a vCard is requested and then later referred to.
-		 * <code>var vCard:VCard = VCard.getVCard( connection );<br />
+		 * <code>var vCard:VCard = VCard.getVCard( connection, jid );<br />
 		 * vCard.addEventListener( VCardEvent.LOADED, onVCardLoaded );</code>
 		 * @param connection
-		 * @param contact (if null, will get current user's vCard)
+		 * @param jid
 		 * @return Reference to the vCard which will be filled once the loaded event occurs.
 		 */
-		public static function getVCard( connection:XMPPConnection, contact:RosterItemVO=null ):VCard
+		public static function getVCard( connection:XMPPConnection, jid:UnescapedJID ):VCard
 		{
 			if ( !cacheFlushTimer.running )
 			{

					{
						pushRequest( connection, card );
					}
					cache = {};
				} );
			}

			var bareJID:String = contact ? contact.jid.bareJID : connection.jid.bareJID;

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

			var vCard:VCard = new VCard();
			if( contact )
			{
				vCard.contact = contact;
				vCard.jid = contact.jid;
			}
			cache[ bareJID ] = vCard;

			pushRequest( connection, vCard );


			{
				cacheFlushTimer.stop();
			}
		}

		/**
		 * Immediately clears the vCard cache.
		 */
		public static function clearCache():void
		{
			cache = new Dictionary();
		}

		/**
