docs: public void execute(Runnable command, long timeout, TimeUnit unit) {
  		submittedCount.incrementAndGet();
  		try {
  			super.execute(command);
  		} catch (RejectedExecutionException rx) { // NOSONAR
  			// not to re-throw this exception because this is only used to find out whether the pool is full, not for a
  			// exception purpose
  			final ControllableQueue queue = (ControllableQueue) super.getQueue();
  			try {
  				if (!queue.force(command, timeout, unit)) {
  					submittedCount.decrementAndGet();
  					throw new RejectedExecutionException("Queue capacity is full.");
  				}
  			} catch (InterruptedException ignore) {
  				submittedCount.decrementAndGet();
  				throw new RejectedExecutionException(ignore);
  			}
  		}
  	}