public static <X extends Throwable>void throwIf(final X e,final Predicate<X> p){
  if (p.test(e))   throw ExceptionSoftener.<RuntimeException>uncheck(e);
}

public static < X extends Throwable > void throwIf ( final X e , final Predicate < X > p ) { if ( p . test ( e ) ) throw ExceptionSoftener . < RuntimeException > uncheck ( e ) ; }
throw the exception as upwards if the predicate holds , otherwise do nothing
