code: @Override
      public final void execute(final Command command) {
          checkNotNull(command, "Received a null pointer as command");
  
          try {
              command.execute();
          } catch (final RuntimeException exception) {
              // RuntimeExceptions are just thrown after logging
              getLogger().error(exception.getMessage());
              throw exception;
          } catch (final Exception exception) {
              // Other exceptions are wrapped after logging
              getLogger().error(exception.getMessage());
              throw new RuntimeException(exception);
          }
      }
docs: Executes the received {@link Command}.
  <p>
  Any exception thrown by the command is caught, logged, then thrown again.
  All these exceptions will be an instance of {@code RuntimeException}, or
  be wrapped by it, when they are thrown out of this method.
  
  @param command
  the {@code Command} to be executed