title: How to set defaults for java.util.Properties at any time?
body: <p>Passing <code>defaults</code> as an argument when constructing a <code>java.util.Properties</code> seems to be a easy way to create hierarchy of properties where children logically inherit values defined in (grand)parents, and every value can be overrided if it is required.</p>
  
  <p>At the same time the only way to pass these <code>defaults</code> into a properties object is to use the constructor. What if I don't control creation of the object? There is no setter that would allow me to do this at any time, like <code>setDefaults(Properties defaults)</code>.</p>
  
  <p>Looking through the source code of <code>java.util.Properties</code> I have found nothing that disallows me to extend the class and add the setter that I need.</p>
  
  <p>My questions are following:</p>
  
  <ol>
  <li>What do you think of the solution?</li>
  <li>Why the API developers haven't done this themselves?</li>
  </ol>