### Question:
ZkDomain extends AbstractDomain implements Domain { public static ZkDomain create(ZooKeeperPlus zk, String domainsRoot, String domainName, int numParts, String storageEngineFactoryClassName, String storageEngineOptions, String partitionerClassName, int id, List<String> requiredHostFlags) throws KeeperException, InterruptedException, IOException { String path = ZkPath.append(domainsRoot, domainName); DomainMetadata initialValue = new DomainMetadata(id, numParts, storageEngineFactoryClassName, storageEngineOptions, partitionerClassName, Hosts.joinHostFlags(requiredHostFlags), 0); return new ZkDomain(zk, path, true, initialValue); } ZkDomain(ZooKeeperPlus zk, String path);  ZkDomain(ZooKeeperPlus zk, String path, boolean create, DomainMetadata initialMetadata); static ZkDomain create(ZooKeeperPlus zk,
                                String domainsRoot,
                                String domainName,
                                int numParts,
                                String storageEngineFactoryClassName,
                                String storageEngineOptions,
                                String partitionerClassName,
                                int id,
                                List<String> requiredHostFlags); void update(final int id,
                     final int numParts,
                     final String storageEngineFactoryClassName,
                     final String storageEngineOptions,
                     final String partitionerClassName,
                     final List<String> requiredHostFlags); @Override String getName(); @Override int getId(); @Override int getNumParts(); @Override Class<? extends StorageEngineFactory> getStorageEngineFactoryClass(); @Override String getStorageEngineFactoryClassName(); @Override StorageEngine getStorageEngine(); @Override Map<String, Object> getStorageEngineOptions(); @Override Partitioner getPartitioner(); @Override String getPartitionerClassName(); @Override List<String> getRequiredHostFlags(); @Override SortedSet<DomainVersion> getVersions(); @Override DomainVersion openNewVersion(DomainVersionProperties domainVersionProperties); @Override DomainVersion getVersion(int versionNumber); @Override DomainVersion getVersionShallow(int versionNumber); @Override boolean deleteVersion(int versionNumber); boolean delete(); @Override String toString();  }### Answer:
@Test public void testCreate() throws Exception { ZkDomain dc = ZkDomain.create(getZk(), getRoot(), "domain0", 1024, ConstantStorageEngine.Factory.class.getName(), "---", Murmur64Partitioner.class.getName(), 0, Collections.<String>emptyList()); assertEquals(0, dc.getId()); assertEquals("domain0", dc.getName()); assertEquals(1024, dc.getNumParts()); assertEquals(ConstantStorageEngine.Factory.class.getName(), dc.getStorageEngineFactoryClassName()); assertEquals(ConstantStorageEngine.Factory.class, dc.getStorageEngineFactoryClass()); assertTrue(dc.getStorageEngine() instanceof ConstantStorageEngine); assertTrue(dc.getVersions().isEmpty()); assertTrue(dc.getPartitioner() instanceof Murmur64Partitioner); }