public synchronized HCatContext setConf(Configuration newConf) {
    Preconditions.checkNotNull(newConf, "Required parameter 'newConf' must not be null.");

    if (conf == null) {
      conf = newConf;
      return this;
    }
    for (Map.Entry<String, String> entry : conf) {
      if ((entry.getKey().matches("hcat.*")) && (newConf.get(entry.getKey()) == null)) {
        newConf.set(entry.getKey(), entry.getValue());
      }
    }
    conf = newConf;
    return this;
  }
Use the given configuration for optional behavior. Keys exclusive to an existing config
are set in the new conf. The job conf must be used to ensure properties are passed to
backend MR tasks.
hcatalog/core/src/main/java/org/apache/hive/hcatalog/common/HCatContext.java