code: public void addWorkUnit(final T workUnit) {
          if (workUnit == null) {
              throw new NullPointerException("workUnit cannot be null");
          }
          numIncompleteWorkUnits.incrementAndGet();
          workUnits.add(new WorkUnitWrapper<>(workUnit));
      }
docs: Add a unit of work. May be called by workers to add more work units to the tail of the queue.
  
  @param workUnit
  the work unit
  @throws NullPointerException
  if the work unit is null.