@Nullable
    private static Endpoint endpoint(ZooKeeperDiscoverySpec spec, PathChildrenCacheEvent event) {
        return spec.decode(event.getData().getData());
    }
Returns a new {@link ZooKeeperEndpointGroupBuilder} created with the specified {@link CuratorFramework}
and ZNode path. Note that the specified {@link CuratorFramework} will not be destroyed when
the {@link ZooKeeperEndpointGroup} built by the returned builder is closed.

@param client the curator framework instance
@param znodePath the ZooKeeper node to register
@param spec the {@link ZooKeeperDiscoverySpec} to find and decode the registered instances
zookeeper3/src/main/java/com/linecorp/armeria/client/zookeeper/ZooKeeperEndpointGroup.java