docs: public ConfigurationAsyncClient build() {
          Objects.requireNonNull(serviceEndpoint);
  
          if (pipeline != null) {
              return new ConfigurationAsyncClient(serviceEndpoint, pipeline);
          }
  
          if (credentials == null) {
              throw new IllegalStateException("'credentials' is required.");
          }
  
          // Closest to API goes first, closest to wire goes last.
          final List<HttpPipelinePolicy> policies = new ArrayList<>();
  
          policies.add(new UserAgentPolicy(AzureConfiguration.NAME, AzureConfiguration.VERSION));
          policies.add(new RequestIdPolicy());
          policies.add(new AddHeadersPolicy(headers));
          policies.add(new AddDatePolicy());
          policies.add(new ConfigurationCredentialsPolicy());
          policies.add(new AsyncCredentialsPolicy(credentials));
          policies.add(retryPolicy);
  
          policies.addAll(this.policies);
  
          policies.add(new HttpLoggingPolicy(httpLogDetailLevel));
  
          HttpPipeline pipeline = httpClient == null
              ? new HttpPipeline(policies)
              : new HttpPipeline(httpClient, policies);
  
          return new ConfigurationAsyncClient(serviceEndpoint, pipeline);
      }