code: @Override
      public TDClient withApiKey(String newApiKey)
      {
          return new TDClient(config, httpClient, Optional.of(newApiKey));
      }
docs: Create a new TDClient that uses the given api key for the authentication.
  The new instance of TDClient shares the same HttpClient, so closing this will invalidate the other copy of TDClient instances
  
  @param newApiKey
  @return