if (i > this.threshold)
{
expand();
i = this.count + 1;
}
AtomicReferenceArray localAtomicReferenceArray = this.table;
int j = paramInt & localAtomicReferenceArray.length() - 1;
LocalCache.ReferenceEntry localReferenceEntry1 = (LocalCache.ReferenceEntry)localAtomicReferenceArray.get(j);
for (LocalCache.ReferenceEntry localReferenceEntry2 = localReferenceEntry1; localReferenceEntry2 != null; localReferenceEntry2 = localReferenceEntry2.getNext())
{
Object localObject1 = localReferenceEntry2.getKey();
if ((localReferenceEntry2.getHash() == paramInt) && (localObject1 != null) && (this.map.keyEquivalence.equivalent(paramObject1, localObject1)))
{
Object localObject2 = localReferenceEntry2.getValueReference();
Object localObject3 = ((LocalCache.ValueReference)localObject2).get();
if ((localObject3 == null) || (paramLoadingValueReference == localObject2))
{
this.modCount += 1;
if (paramLoadingValueReference.isActive())
{
RemovalCause localRemovalCause = localObject3 == null ? RemovalCause.COLLECTED : RemovalCause.REPLACED;
enqueueNotification(paramObject1, paramInt, paramLoadingValueReference, localRemovalCause);
i--;
}
setValue(localReferenceEntry2, paramObject1, paramObject2, l);
this.count = i;
evictEntries();
bool2 = true;
return bool2;
}
localObject2 = new LocalCache.WeightedStrongValueReference(paramObject2, 0);
enqueueNotification(paramObject1, paramInt, (LocalCache.ValueReference)localObject2, RemovalCause.REPLACED);
boolean bool2 = false;
return bool2;
}
}
this.modCount += 1;
localReferenceEntry2 = newEntry(paramObject1, paramInt, localReferenceEntry1);
setValue(localReferenceEntry2, paramObject1, paramObject2, l);
localAtomicReferenceArray.set(j, localReferenceEntry2);
this.count = i;
evictEntries();
boolean bool1 = true;
return bool1;
}