docs: private URI computeEndpoint() {
          String endpoint = this.config.getEndpoint();
          try {
              if (endpoint == null) {
                  if (this.isRegionSupported()) {
                      endpoint = String.format("%s://%s.%s.%s", this.config.getProtocol(), this.serviceId,
                              this.config.getRegion(), AbstractBceClient.DEFAULT_SERVICE_DOMAIN);
                  } else {
                      endpoint = String.format("%s://%s.%s", this.config.getProtocol(), this.serviceId,
                              AbstractBceClient.DEFAULT_SERVICE_DOMAIN);
                  }
              }
              return new URI(endpoint);
          } catch (URISyntaxException e) {
              // only if the endpoint specified in the client configuration is not a valid URI, which is not expected.
              throw new IllegalArgumentException("Invalid endpoint." + endpoint, e);
          }
      }