docs: public synchronized void abort(Throwable cause) {
          if (cause==null)        throw new IllegalArgumentException();
          if (aborted!=null)      return; // already aborted    
          aborted = cause;
          startLatch.abort(cause);
          endLatch.abort(cause);
  
          Thread c = Thread.currentThread();
          for (WorkUnit wu : workUnits) {
              Executor e = wu.getExecutor();
              if (e!=null && e!=c)
                  e.interrupt();
          }
      }