code: public static <X extends Throwable> X wrap(@Nullable Throwable e, @Nonnull ExWF<X> exceptionFactory) {
          handleErrors(e); 
          return exceptionFactory.produce(e); //NOSONAR
      }
docs: <editor-fold desc="create or propagate">