### Question:
ThreadSafeDoubleCheckLocking { public static ThreadSafeDoubleCheckLocking getInstance() { var result = instance; if (result == null) { synchronized (ThreadSafeDoubleCheckLocking.class) { result = instance; if (result == null) { instance = result = new ThreadSafeDoubleCheckLocking(); } } } return result; } private  ThreadSafeDoubleCheckLocking(); static ThreadSafeDoubleCheckLocking getInstance();  }### Answer:
@Test(expected = InvocationTargetException.class) public void testCreatingNewInstanceByRefection() throws Exception { ThreadSafeDoubleCheckLocking.getInstance(); var constructor = ThreadSafeDoubleCheckLocking.class.getDeclaredConstructor(); constructor.setAccessible(true); constructor.newInstance((Object[]) null); }