SilentChemObjectBuilder implements IChemObjectBuilder { public static IChemObjectBuilder getInstance() { IChemObjectBuilder result = instance; if (result == null) { result = instance; synchronized (LOCK) { if (result == null) { instance = result = new SilentChemObjectBuilder(); } } } return result; } private  SilentChemObjectBuilder(); static IChemObjectBuilder getInstance(); @Override T newInstance(Class<T> clazz, Object... params); @Override IAtom newAtom(); @Override IBond newBond(); @Override IAtomContainer newAtomContainer();  }
@Test public void testGetInstance() { Object builder = SilentChemObjectBuilder.getInstance(); Assert.assertNotNull(builder); Assert.assertTrue(builder instanceof IChemObjectBuilder); Assert.assertTrue(builder instanceof SilentChemObjectBuilder); }