updated = true;
if (cache.putIfAbsent(key, revised) == null) {
break;
}
} else {
<BUG>if (original.matches(softLock)) {
final ExpiryMarker marker = (ExpiryMarker) original;</BUG>
if (marker.isConcurrent()) {
revised = marker.expire(timestamp);
updated = false;

updated = true;
if (cache.putIfAbsent(key, revised) == null) {
break;
}
} else {
if (softLock instanceof MarkerWrapper) {
final ExpiryMarker unwrappedMarker = ((MarkerWrapper) softLock).getMarker();
if (original.matches(unwrappedMarker)) {
final ExpiryMarker marker = (ExpiryMarker) original;
if (marker.isConcurrent()) {
revised = marker.expire(timestamp);
updated = false;
