code: 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;
      }
docs: Sets a {@link SessionProtocol} only if it has not been specified before.