private VirtualHostBuilder tls(Supplier<SslContextBuilder> sslContextBuilderSupplier) {
        requireNonNull(sslContextBuilderSupplier, "sslContextBuilderSupplier");
        checkState(this.sslContextBuilderSupplier == null, "TLS has been configured already.");
        checkState(!portBased,
                   "Cannot configure TLS to a port-based virtual host. Please configure to %s.tls()",
                   ServerBuilder.class.getSimpleName());
        this.sslContextBuilderSupplier = sslContextBuilderSupplier;
        return this;
    }
Sets the hostname pattern of this {@link VirtualHost}.
If the hostname pattern contains a port number such {@code *.example.com:8080}, the returned virtual host
will be bound to the {@code 8080} port. Otherwise, the virtual host will allow all active ports.

@throws UnsupportedOperationException if this is the default {@link VirtualHostBuilder}

@deprecated prefer specifying the hostnamePattern using {@link ServerBuilder#virtualHost(String)}
            or {@link ServerBuilder#withVirtualHost(String, Consumer)}
core/src/main/java/com/linecorp/armeria/server/VirtualHostBuilder.java