</BUG>
for (;;) {
long nanos = putTimeTakenNanos;
if (nanos <= Long.MAX_VALUE - duration) {
<BUG>PUT_TIME_TAKEN_NANOS_UPDATER.compareAndSet(this, nanos, nanos + duration);

} else {
clear();
PUT_TIME_TAKEN_NANOS_UPDATER.set(this, duration);
}</BUG>
}

clear();
return;
}
}
}
}
public void addPutTimeNanos(long duration) {
for (;;) {
long nanos = putTimeTakenNanos;
if (nanos <= Long.MAX_VALUE - duration) {
if (PUT_TIME_TAKEN_NANOS_UPDATER.compareAndSet(this, nanos, nanos + duration)) {
return;
