Lease currentLease = this.currentLease.get();
this.currentLease.set(lease);
if (currentLease != null) {
cancelSchedule(currentLease);
}
<BUG>ScheduledFuture<?> scheduledFuture = taskScheduler.schedule(new Runnable() {
@Override</BUG>
public void run() {
try {
schedules.remove(lease);

Lease currentLease = this.currentLease.get();
this.currentLease.set(lease);
if (currentLease != null) {
cancelSchedule(currentLease);
}
ScheduledFuture<?> scheduledFuture = taskScheduler.schedule(
new Runnable() {
@Override
public void run() {
try {
schedules.remove(lease);
