@Override public boolean cancel() { final ReentrantLock lock = m_lock; if (!lock.tryLock()) // fail-fast return false; try { return m_state.cancel(this); } finally { lock.unlock(); } }