### Question:
ZkRingGroup extends AbstractRingGroup implements RingGroup { public boolean delete() throws IOException { try { zk.deleteNodeRecursively(ringGroupPath); return true; } catch (Exception e) { throw new IOException(e); } } ZkRingGroup(ZooKeeperPlus zk, String ringGroupPath, DomainGroup domainGroup, final Coordinator coordinator); static ZkRingGroup create(ZooKeeperPlus zk, String path, ZkDomainGroup domainGroup, Coordinator coordinator); @Override DomainGroup getDomainGroup(); @Override Ring getRing(int ringNumber); @Override Ring getRingForHost(PartitionServerAddress hostAddress); @Override Set<Ring> getRings(); @Override boolean claimRingGroupConductor(RingGroupConductorMode mode); @Override void releaseRingGroupConductor(); @Override RingGroupConductorMode getRingGroupConductorMode(); @Override void setRingGroupConductorMode(RingGroupConductorMode mode); @Override Ring addRing(int ringNum); @Override boolean removeRing(int ringNum); @Override void addRingGroupConductorModeListener(WatchedNodeListener<RingGroupConductorMode> listener); @Override void removeRingGroupConductorModeListener(WatchedNodeListener<RingGroupConductorMode> listener); @Override List<ClientMetadata> getClients(); @Override List<ConnectedServerMetadata> getLiveServers(); @Override void registerClient(ClientMetadata client); @Override void registerServer(ConnectedServerMetadata metadata); @Override boolean isRingGroupConductorOnline(); boolean delete(); @Override void addDataLocationChangeListener(RingGroupDataLocationChangeListener listener); @Override void removeDataLocationChangeListener(RingGroupDataLocationChangeListener listener); static final String RING_GROUP_CONDUCTOR_ONLINE_PATH; }### Answer:
@Test public void testDelete() throws Exception { ZkDomainGroup dg = ZkDomainGroup.create(getZk(), null, dg_root, "blah"); assertNotNull(getZk().exists(ZkPath.append(dg_root, "blah"), false)); assertTrue(dg.delete()); assertNull(getZk().exists(ZkPath.append(dg_root, "blah"), false)); }