public RabbitMQCollector.Builder toBuilder()
      throws KeyManagementException, NoSuchAlgorithmException, URISyntaxException {
    final RabbitMQCollector.Builder result = RabbitMQCollector.builder();
    ConnectionFactory connectionFactory = new ConnectionFactory();
    if (concurrency != null) result.concurrency(concurrency);
    if (connectionTimeout != null) connectionFactory.setConnectionTimeout(connectionTimeout);
    if (queue != null) result.queue(queue);

    if (uri != null) {
      connectionFactory.setUri(uri);
    } else {
      if (addresses != null) result.addresses(addresses);
      if (password != null) connectionFactory.setPassword(password);
      if (username != null) connectionFactory.setUsername(username);
      if (virtualHost != null) connectionFactory.setVirtualHost(virtualHost);
      if (useSsl != null && useSsl) connectionFactory.useSslProtocol();
    }
    result.connectionFactory(connectionFactory);
    return result;
  }
RabbitMQ URI spec-compliant URI to connect to the RabbitMQ server. When used, other connection
properties will be ignored.
zipkin-server/src/main/java/zipkin2/server/internal/rabbitmq/ZipkinRabbitMQCollectorProperties.java