Layout { public static Layout getInstance() throws IOException, URISyntaxException { if (INSTANCE == null) { INSTANCE = new Layout(Layout.class.getProtectionDomain().getCodeSource()); } return INSTANCE; } Layout(CodeSource codeSource); static Layout getInstance(); Path getRoot(); boolean isUberJar(); Manifest getManifest(); synchronized ClassLoader getBootstrapClassLoader();  }
@Test public void testSingletoness() throws Exception { assertThat(Layout.getInstance()).isSameAs(Layout.getInstance()); }