acquireExclusiveLock();
try {
if (removed.size() > 0) {
final int recycledPosition = removed.remove(removed.size() - 1);
entries.set(recycledPosition, new OPhysicalPosition(iDataSegmentId, iRecordPosition, iRecordType));
return recycledPosition;
} else {
entries.add(new OPhysicalPosition(iDataSegmentId, iRecordPosition, iRecordType));
return entries.size() - 1;
}
} finally {
releaseExclusiveLock();