class DataFlowBug { void foo() { RuntimeException o = System.nanoTime() % 2 == 0 ? null : new RuntimeException(); throw o; } void foo2() { try { RuntimeException o = System.nanoTime() % 2 == 0 ? null : new RuntimeException(); throw o; } catch (RuntimeException exception) { } } void foo(RuntimeException tt) { throw tt; } }