/guava/guava/src/com/google/common/io/Closer.java
Throwables.propagateIfPossible( e, declaredType) ;Throwables.propagateIfPossible( e, IOException.class) ;
Throwables.propagateIfPossible ( e, IOException.class ) ;
throw new RuntimeException(e); } public <X1 extends Exception, X2 extends Exception> RuntimeException rethrow( Throwable e, Class<X1> declaredType1, Class<X2> declaredType2) throws IOException, X1, X2 { checkNotNull(e); thrown = e; <extra_id_0> Throwables.propagateIfPossible(e, declaredType1, declaredType2); throw new RuntimeException(e); } @Override public void close() throws IOException { Throwable throwable = thrown;