code: public static <X extends Throwable> void throwIf(final X e, final Predicate<X> p) {
          if (p.test(e))
              throw ExceptionSoftener.<RuntimeException> uncheck(e);
      }
docs: Throw the exception as upwards if the predicate holds, otherwise do nothing
  
  @param e Exception
  @param p Predicate to check exception should be thrown or not