code: @Override
      public final <V> V execute(final ResultCommand<V> command) {
          checkNotNull(command, "Received a null pointer as command");
  
          execute((Command) command);
  
          return command.getResult();
      }
docs: Executes the received {@link ResultCommand} and returns the value
  generated by this operation.
  <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 ResultCommand} to be executed
  @param <V>
  the type generated by the command
  @return an object generated by the command