### 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` 를 쓰면서 두 메서드 모두 읽고 나서 조건 없이 쓴다.