boolean (boolean mayInterruptIfRunning) { if (isDone()) { return false; } if (!myCanceledState.getAndSet(true)) { try { performCancel(); } catch (Exception e) { throw new RuntimeException(e); } } return true; }