try
{
int i = this.count;
if (i++ > this.threshold)
expand();
AtomicReferenceArray localAtomicReferenceArray = this.table;
int j = paramInt & localAtomicReferenceArray.length() - 1;
Object localObject1 = localAtomicReferenceArray.get(j);
for (Object localObject2 = localObject1; localObject2 != null; localObject2 = localStrategy.getNext(localObject2))
{
localObject3 = localStrategy.getKey(localObject2);
if ((localStrategy.getHash(localObject2) == paramInt) && (localObject3 != null) && (localStrategy.equalKeys(paramObject1, localObject3)))
{
Object localObject4 = localStrategy.getValue(localObject2);
if ((paramBoolean) && (localObject4 != null))
{
localObject5 = localObject4;
return localObject5;
}
localStrategy.setValue(localObject2, paramObject2);
Object localObject5 = localObject4;
return localObject5;
}
}
this.modCount += 1;
localObject2 = localStrategy.newEntry(paramObject1, paramInt, localObject1);
localStrategy.setValue(localObject2, paramObject2);
localAtomicReferenceArray.set(j, localObject2);
this.count = i;
Object localObject3 = null;
return localObject3;
}
finally