title: What does com.typesafe.config.ConfigFactory.load(Config) do?
body: <p>What does the method <code>load(Config)</code> in class <code>com.typesafe.config.ConfigFactory</code> do? How would the output Config be different from the input Config?</p>
  
  <p>The <a href="https://lightbend.github.io/config/latest/api/com/typesafe/config/ConfigFactory.html#load-com.typesafe.config.Config-" rel="nofollow noreferrer">documentation</a> says that it:</p>
  
  <blockquote>
    <p>Assembles a standard configuration using a custom Config object rather than loading "application.conf". The Config object will be sandwiched between the default reference config and default overrides and then resolved.</p>
  </blockquote>
  
  <p>I do not understand what it is saying. </p>
  
  <p>The code shows that:</p>
  
  <pre class="lang-java prettyprint-override"><code>public static Config load(Config config) {
      return load(checkedContextClassLoader("load"), config);
  }
  </code></pre>
  
  <p>It seems to be loading with a <code>checkedContextClassLoader</code> which I don't understand. Can someone give a short understandable explanation of this?</p>