code: private Config getDatasetConfig(Table table) throws ConfigStoreFactoryDoesNotExistsException,
        ConfigStoreCreationException, URISyntaxException {
  
      Config datasetConfig;
      Optional<Config> runtimeConfig = ConfigClientUtils.getOptionalRuntimeConfig(properties);
      // Config store enabled
      if (this.configStoreUri.isPresent()) {
        if (runtimeConfig.isPresent()) {
          datasetConfig = this.configClient.getConfig(
              this.configStoreUri.get() + Path.SEPARATOR + this.configStoreDatasetUriBuilder.apply(table),
              runtimeConfig);
        } else {
          datasetConfig = this.configClient.getConfig(
              this.configStoreUri.get() + Path.SEPARATOR + this.configStoreDatasetUriBuilder.apply(table));
        }
  
      // If config store is not enabled use job config
      } else {
        datasetConfig = this.jobConfig;
      }
  
      return StringUtils.isBlank(this.datasetConfigPrefix) ? datasetConfig : ConfigUtils.getConfig(datasetConfig,
          this.datasetConfigPrefix, ConfigFactory.empty());
    }
docs: Gets the {@link Config} for this <code>dbAndTable</code>.
  Cases:
  <ul>
  <li>If {@link #configStoreUri} is available it gets the dataset config from the config store at this uri
  <li>If {@link #configStoreUri} is not available it uses the job config as dataset config
  <li>If {@link #datasetConfigPrefix} is specified, only configs with this prefix is returned
  <li>If {@link #datasetConfigPrefix} is not specified, all configs are returned
  </ul>
  @param table of the dataset to get config
  @return the {@link Config} for <code>dbAndTable</code>