SamlPortConfigBuilder setSchemeIfAbsent(SessionProtocol scheme) {
        requireNonNull(scheme, "scheme");
        if (this.scheme == null) {
            if (scheme == SessionProtocol.HTTPS ||
                scheme == SessionProtocol.HTTP) {
                this.scheme = scheme;
            } else {
                throw new IllegalArgumentException("unexpected session protocol: " + scheme);
            }
        }
        return this;
    }
Sets a {@link SessionProtocol} only if it has not been specified before.
saml/src/main/java/com/linecorp/armeria/server/saml/SamlPortConfigBuilder.java