### 17.2 P2 — 자격증명 회전이 비교 후 교체가 아니고, 배수 완료가 진행 중인 회전을 되돌릴 수 있다

```java
State observed = state.get();
…
state.set(new State(next, observed.current(), deadline));      // rotate
…
public void completeDrain() {
  State observed = state.get();
  state.set(new State(observed.current(), null, null));        // completeDrain
}
```

`AtomicReference` 를 쓰면서 두 메서드 모두 읽고 나서 조건 없이 쓴다.

