code: @Override
    public void register(TaskExecutor taskExecutor) {
  	lock.lock();
  	try {
  	  Iterator<TaskExecutor> it = taskExecutors.iterator();
  	  while (it.hasNext()) {
  		TaskExecutor e = it.next();
  		if (e.isShutdown() && e.hasTask() == false) {
  		  it.remove();
  		}
  	  }
  
  	  if (taskExecutors.contains(taskExecutor) == false) {
  		taskExecutors.add(taskExecutor);
  	  }
  	} finally {
  	  lock.unlock();
  	}
    }
docs: TODO impedir que o global shutdow