public static ZooKeeperEndpointGroup of(CuratorFramework client, String znodePath,
                                            ZooKeeperDiscoverySpec spec) {
        return builder(client, znodePath, spec).build();
    }
Returns a new {@link ZooKeeperEndpointGroup} that retrieves the {@link Endpoint} list from
the ZNode at the specified path using the specified {@link CuratorFramework}.
Note that the specified {@link CuratorFramework} will not be destroyed when the returned
{@link ZooKeeperEndpointGroup} 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