### Question:
Report extends RuntimeException { public static final Report of(Throwable t) { if (t instanceof Report) { return (Report) t; } if (t instanceof OutOfMemoryError) { throw (OutOfMemoryError) t; } if (t == null) { t = new NullPointerException("No cause specified - this is a bug in the error reporting system"); } return new Report(t); } private  Report(Throwable t); static final Report of(Throwable t); @Override String getMessage(); Report with(String name, String value); Report at(String name, LocalWorld world, int x, int y, int z);  }### Answer:
@Test(expected = OutOfMemoryError.class) public void outOfMemoryIsNotWrapped() { OutOfMemoryError e = new OutOfMemoryError(); throw Report.of(e); }