synchronized void onTokenPersisted() {
    /* Only update the candidate token if it qualified as the token safe to be persisted in the previous get call.
     * If not, keep it as it is.
     */
    if (tokenSafeToPersist == candidateTokenToPersist) {
      candidateTokenToPersist = currentToken;
      timeCandidateSetInMs = time.milliseconds();
    }
  }
get the token to persist. Returns either the candidate token if enough time has passed since it was
set, or the last token again.
ambry-replication/src/main/java/com/github/ambry/replication/RemoteReplicaInfo.java