code: @Override
    public boolean cancel(boolean mayInterruptIfRunning) {
  	this.lock.lock();
  	try {
  	  if (this.completed) {
  		return false;
  	  }
  	  this.completed = true;
  	  this.cancelled = true;
  	  this.condition.signalAll();
  	  return true;
  	} finally {
  	  this.lock.unlock();
  	}
    }
docs: {@inheritDoc}