boolean setExecuted() {
    if (!signalExecution()) {
      return false;
    }

    List<Runnable> all;
    synchronized (this) {
      if (myRunnables == null) {
        return true;
      }
      else {
        all = myRunnables;
        myRunnables = null;
      }
    }
    for (Runnable each : all) {
      each.run();
    }
    return true;
  }
boolean setExecuted()