rv = mailSession->GetCurrentIdentity(getter_AddRefs(identity));
rv = accountManager->GetCurrentIdentity(getter_AddRefs(identity));
HackUpAURIToPlayWith(void){  //PRUnichar           *playURI = nsnull;  char                *folderURI = nsnull;  nsresult            rv = NS_OK;  // temporary hack to get the current identity  NS_WITH_SERVICE(nsIMsgMailSession, mailSession, kCMsgMailSessionCID, &rv);  if (NS_FAILED(rv))     return nsnull;    nsCOMPtr<nsIMsgIdentity> identity = nsnull;  rv = mailSession->GetCurrentIdentity(getter_AddRefs(identity));  if (NS_FAILED(rv))     return nsnull;  //   // Find the users drafts folder...  //  identity->GetDraftFolder(&folderURI);  //   // Now, get the drafts folder...  //  nsCOMPtr <nsIMsgFolder> folder;  rv = LocateMessageFolder(identity, nsMsgSaveAsDraft, folderURI, getter_AddRefs(folder));  PR_FREEIF(folderURI);  if (NS_FAILED(rv) || !folder)    return nsnull;  nsCOMPtr <nsISimpleEnumerator> enumerator;  rv = folder->GetMessages(getter_AddRefs(enumerator));  if (NS_FAILED(rv) || (!enumerator))  {    // RICHIE - Possible bug that will bite us in this hack...    printf("*** NOTICE *** If you failed, more than likely, this is the problem\ndescribed by Bug #10344.\n\7");        return nsnull;  }  PRBool hasMore = PR_FALSE;  rv = enumerator->HasMoreElements(&hasMore);  if (!NS_SUCCEEDED(rv) || !hasMore)     return nsnull;  nsCOMPtr<nsISupports>   currentItem;  rv = enumerator->GetNext(getter_AddRefs(currentItem));  if (NS_FAILED(rv))    return nsnull;  nsCOMPtr<nsIMessage>      message;  message = do_QueryInterface(currentItem);   if (!message)    return nsnull;  nsCOMPtr<nsIRDFResource>  myRDFNode;  myRDFNode = do_QueryInterface(message, &rv);  if (NS_FAILED(rv) || (!myRDFNode))    return nsnull;  char    *tURI;  myRDFNode->GetValue(&tURI);  nsString   workURI(tURI);  nsAllocator::Free(tURI);  return workURI.ToNewUnicode(); }