protected Runnable wrapTask(Runnable command) {
    final Callable<Object> wrapped = wrapTask(Executors.callable(command, null));
    return new Runnable() {
      @Override
      public void run() {
        try {
          wrapped.call();
        } catch (Exception e) {
          throwIfUnchecked(e);
          throw new RuntimeException(e);
        }
      }
    };
  }
protected Runnable wrapTask ( Runnable command ) { final Callable < Object > wrapped = wrapTask ( Executors . callable ( command , null ) ) ; return new Runnable ( ) { @ Override public void run ( ) { try { wrapped . call ( ) ; } catch ( Exception e ) { throwIfUnchecked ( e ) ; throw new RuntimeException ( e ) ; } } } ; }
Wraps a {@code Runnable} for submission to the underlying executor. The default implementation
delegates to {@link #wrapTask(Callable)}.