nsISupports* aConsumer)
nsIUrlListener* aUrlListener, nsISupports* aConsumer, nsIURI** aURL)
nsImapIncomingServer::GetImapConnectionAndLoadUrl(nsIEventQueue * aClientEventQueue,                                                  nsIImapUrl* aImapUrl,                                                  nsISupports* aConsumer){    nsresult rv = NS_OK;    nsIImapProtocol* aProtocol = nsnull;        rv = CreateImapConnection(aClientEventQueue, aImapUrl, &aProtocol);    if (NS_FAILED(rv)) return rv;	nsCOMPtr<nsIMsgMailNewsUrl> mailnewsurl = do_QueryInterface(aImapUrl, &rv);    if (aProtocol)    {        rv = aProtocol->LoadUrl(mailnewsurl, aConsumer);        // *** jt - in case of the time out situation or the connection gets        // terminated by some unforseen problems let's give it a second chance        // to run the url        if (NS_FAILED(rv))        {            rv = aProtocol->LoadUrl(mailnewsurl, aConsumer);        }        else        {            // *** jt - alert user that error has occurred        }       }    else    {   // unable to get an imap connection to run the url; add to the url        // queue        PR_CEnterMonitor(this);		nsCOMPtr <nsISupports> supports(do_QueryInterface(aImapUrl));		if (supports)			m_urlQueue->AppendElement(supports);        m_urlConsumers.AppendElement((void*)aConsumer);        NS_IF_ADDREF(aConsumer);        PR_CExitMonitor(this);    }    return rv;}