if (curMain == appHandle) curMain = null; if (curHandles.remove(appHandle))
if (activeMain == appHandle) activeMain = null; if (activeHandles.remove(appHandle))
	synchronized void unlock(EclipseAppHandle appHandle) {		if (curGlobalSingleton == appHandle)			curGlobalSingleton = null;		else if (curScopedSingleton == appHandle)			curScopedSingleton = null;		else if (((EclipseAppDescriptor)appHandle.getApplicationDescriptor()).getCardinalityType() == EclipseAppDescriptor.FLAG_CARD_LIMITED) {			if (curLimited != null) {				ArrayList limited = (ArrayList) curLimited.get(((EclipseAppDescriptor)appHandle.getApplicationDescriptor()).getApplicationId());				if (limited != null)					limited.remove(appHandle);			}		}		if (curMain == appHandle)			curMain = null;		if (curHandles.remove(appHandle))			refreshAppDescriptors(); // only refresh descriptors if we really unlocked something	}