CachedDawgClientFactory implements IDawgClientFactory { @Override public IDawgPoundClient getPoundClient() { if (null == poundClient) { if (null == dawgPoundHost) { poundClient = new DawgPoundClient(); } else { poundClient = new DawgPoundClient(dawgPoundHost); } } return poundClient; } CachedDawgClientFactory(MetaStb metaStb);  CachedDawgClientFactory(MetaStb metaStb, String dawgHouseHost, String dawgPoundHost); @Override IDawgHouseClient<?> getHouseClient(); @Override IDawgPoundClient getPoundClient(); @Override IrClient getIrClient(); @Override PowerClient getPowerClient(); @Override SerialClient getSerialClient();  }
@Test public void testGetPoundClient() { CachedDawgClientFactory factory = new CachedDawgClientFactory(new MetaStb(),"",""); Assert.assertNotNull(factory.getPoundClient()); IDawgPoundClient expected = factory.getPoundClient(); Assert.assertEquals(factory.getPoundClient(), expected); }