@Override
    protected void doCloseAsync(CompletableFuture<?> future) {
        if (watchRegisterKey != null) {
            registry.unregister(watchRegisterKey);
        }
        future.complete(null);
    }
Returns a new {@link PropertiesEndpointGroupBuilder} created from the file at the specified
{@link Path}. Any updates in the file will trigger a dynamic reload. The value of each property
whose name starts with {@code endpointKeyPrefix} will be parsed with {@link Endpoint#parse(String)},
and then loaded into the {@link PropertiesEndpointGroup}, e.g.

<pre>{@code
# endpointKeyPrefix = 'example.hosts.'
example.hosts.0=example1.com:36462
example.hosts.1=example2.com:36462
example.hosts.2=example3.com:36462
}</pre>

@param path the path of the file where list of {@link Endpoint}s is loaded from
@param endpointKeyPrefix the property name prefix
core/src/main/java/com/linecorp/armeria/client/endpoint/PropertiesEndpointGroup.java