@Test
public void testRecoverable() {

  Throwable t = new RuntimeException();
  Assert.assertFalse(Throwables.containsNonRecoverable(t));
  t.addSuppressed(new IOException());
  Assert.assertFalse(Throwables.containsNonRecoverable(t));
  t.addSuppressed(new OutOfMemoryError());
  Assert.assertTrue(Throwables.containsNonRecoverable(t));
  t = new RuntimeException(new RuntimeException(new IOException("Too many open files")));
  Assert.assertTrue(Throwables.containsNonRecoverable(t));
  t = new RuntimeException(new RuntimeException(new StackOverflowError()));
  Assert.assertFalse(Throwables.containsNonRecoverable(t));
}