@Override
  protected ServerLocator internalNewObject(URI uri, Map<String, String> query, String name)
      throws Exception {
    ConnectionOptions options = newConnectionOptions(uri, query);

    DiscoveryGroupConfiguration dgc =
        getDiscoveryGroupConfiguration(uri, query, getHost(uri), getPort(uri), name);

    if (options.isHa()) {
      return ActiveMQClient.createServerLocatorWithHA(dgc);
    } else {
      return ActiveMQClient.createServerLocatorWithoutHA(dgc);
    }
  }