code: void cancelTasklet(final boolean mayInterruptIfRunning, final int taskletId) {
      lock.lock();
      try {
        // This is not ideal since we are using a linear time search on all the workers.
        final String workerId = getWhereTaskletWasScheduledTo(taskletId);
        if (workerId == null) {
          // launchTasklet called but not yet running.
          taskletsToCancel.add(taskletId);
          return;
        }
  
        if (mayInterruptIfRunning) {
          LOG.log(Level.FINE, "Cancelling running Tasklet with ID {0}.", taskletId);
          runningWorkers.get(workerId).cancelTasklet(taskletId);
        }
      } finally {
        lock.unlock();
      }
    }
docs: Concurrency: Called by multiple threads.
  Parameter: Same taskletId can come in multiple times.