dont_QueryInterface((nsIMsgIncomingServer*)m_incomingServers.Get(&hashKey));
do_QueryInterface((nsISupports*)m_incomingServers.Get(&hashKey));
nsMsgAccountManager::GetIncomingServer(const char* key,                                       nsIMsgIncomingServer **_retval){  if (!_retval) return NS_ERROR_NULL_POINTER;  nsresult rv=NS_OK;    nsStringKey hashKey(key);  nsCOMPtr<nsIMsgIncomingServer> server =    dont_QueryInterface((nsIMsgIncomingServer*)m_incomingServers.Get(&hashKey));  if (server) {    *_retval = server;    NS_ADDREF(*_retval);    return NS_OK;  }  // server doesn't exist, so create it    // in order to create the right kind of server, we have to look  // at the pref for this server to get the type  const char *serverTypePref =    PR_smprintf("mail.server.%s.type", key);  // serverType is the short server type, like "pop3", "imap", etc  nsXPIDLCString serverType;  rv = m_prefs->CopyCharPref(serverTypePref, getter_Copies(serverType));    // the server type doesn't exist. That's bad.  if (NS_FAILED(rv))    return NS_ERROR_NOT_INITIALIZED;  rv = createKeyedServer(key, serverType, _retval);  return rv;}