status = nssTokenObjectCache_RemoveObject(token->cache, instance);
nssTokenObjectCache_RemoveObject(token->cache, instance);
nssToken_DeleteStoredObject(  nssCryptokiObject *instance){    CK_RV ckrv;    PRStatus status;    PRBool createdSession = PR_FALSE;    NSSToken *token = instance->token;    nssSession *session = NULL;    void *epv = nssToken_GetCryptokiEPV(instance->token);    if (token->cache) {	status = nssTokenObjectCache_RemoveObject(token->cache, instance);    }    if (instance->isTokenObject) {       if (nssSession_IsReadWrite(token->defaultSession)) {	   session = token->defaultSession;       } else {	   session = nssSlot_CreateSession(token->slot, NULL, PR_TRUE);	   createdSession = PR_TRUE;       }    }    if (session == NULL) {	return PR_FAILURE;    }    nssSession_EnterMonitor(session);    ckrv = CKAPI(epv)->C_DestroyObject(session->handle, instance->handle);    nssSession_ExitMonitor(session);    if (createdSession) {	nssSession_Destroy(session);    }    if (ckrv != CKR_OK) {	return PR_FAILURE;    }    return status;}