code: public void destroy() {
          //TODO eike: i believe this should be called with a thread pool because each shutdown() can
          //take up to 10 seconds.
          //also, it would then be easier to just stick executorService into the services too.
          if (executorService!=null) {
              executorService.shutdown();
          }
          if (!services.isEmpty()) {
              for (DefaultCommandExecutorService s : services.keySet()) {
                  if (s != null) {
                      s.shutdown();
                  }
              }
          }
      }
docs: TODO eike: What's the concept here? No one calls this as of now.
  Should this method be added to the CommandExecutor interface so that the user
  can actually call it?
  Should we add a finalize() method to do it automatically? But the DefaultCommandExecutorService already
  has such a finalizer.