### Question:
AbstractMuxConnection extends AbstractBlobStoreConnection { @Override public void close() { super.close(); if (cons != null) { for (BlobStoreConnection con : cons.values()) con.close(); cons.clear(); cons = null; } } AbstractMuxConnection(BlobStore store, Transaction txn); abstract BlobStore getStore(URI blobId, Map<String, String> hints); Set<BlobStore> getStores(String prefix); @Override void close(); @Override Blob getBlob(URI blobId, Map<String, String> hints); @Override Iterator<URI> listBlobIds(String filterPrefix); @Override void sync();  }### Answer:
@Test public void testClose() throws IOException { TestConnection con = (TestConnection) store.openConnection(null, null); assertFalse(con.isClosed()); con.getConnection(store1, null); con.getConnection(store2, null); assertEquals(2, con.getCons().size()); Collection<BlobStoreConnection> cons = con.getCons().values(); con.close(); assertTrue(con.isClosed()); for (BlobStoreConnection c : cons) assertTrue(c.isClosed()); }