void (PsiReference ref, ResolveResult[] result, boolean physical, boolean incomplete, int clearCountOnStart) { synchronized (PsiLock.LOCK) { if (clearCountOnStart != myClearCount && result != null) return; int index = getIndex(physical, incomplete); myPolyVariantResolveMaps[index].put(ref, new SoftReference<ResolveResult[]>(result)); } }