title: Does SwingUtilities.updateComponentTreeUI() method set the current L&F to all super and sub components?
body: <p><strong>Background:</strong></p>
  
  <p>From the documentation, the method <code>SwingUtilities.updateComponentTreeUI()</code> ask to each component in the tree (What tree?) to <strong>update</strong> their own <strong>UI properties</strong> calling the method <code>updateUI()</code>.
  <code>SwingUtilities.updateComponentTreeUI()</code> is <strong>strictly recommended to be called</strong> after we set the LAF, calling the method: <code>UIManager.setLookAndFeel(LAFClassName)</code>, otherwise the LAF theme could not be applied to some components and, worst, some components could not be redesigned (and some exceptions could be thrown?).</p>
  
  <p>I am <strong>new</strong> to this kind of things and I discovered the method <code>SwingUtilities.updateComponentTreeUI()</code> <strong>after</strong> the discover of the more suggestive <code>UIManager.setLookAndFeel(LAFClassName)</code> method. </p>
  
  <p>Before discovering <code>SwingUtilities.updateComponentTreeUI()</code> I had been having some <strong>problems/Exceptions/NullPointerExceptions</strong>, and the truth is that I really wasn't understanding the reason of them until I didn't discover the <code>SwingUtilities.updateComponentTreeUI()</code> method, which made me understand that some components in the tree could not be updated to the new LAF.</p>
  
  <p><strong>Concrete/real problem:</strong></p>
  
  <p>For instance, if I have a </p>
  
  <blockquote>
    <p>subJFrame</p>
  </blockquote>
  
  <p>(instantiated dynamically or triggered by an ActionEvent (click) in the </p>
  
  <blockquote>
    <p>mainJFrame</p>
  </blockquote>
  
  <p>), where I set the <strong>look and feels properties</strong>, and then I call <code>SwingUtilitiesupdateComponentTreeUI()</code> passing to it a reference to the <code>mainJFrame</code>:</p>
  
  <p><code>SwingUtilities.updateComponentTreeUI(mainJFrame)</code>, </p>
  
  <p>is this last one going to <strong>update all its sub-components/subJFrames</strong> (and hence updates the <code>subJFrame</code> where I set the LAF) ?</p>
  
  <p>This is <strong>not</strong> a trivial question (also keeping in my mind what the documentation says), because I call the <code>UIManager.setLookAndFeel(LAFClassName)</code> method in the <code>subJFrame</code> (what actually this call does?) and then I call <code>SwingUtilities.updateComponentTreeUI()</code> method passing to it a reference to the <code>mainJFrame</code>, so what <strong>LAF theme</strong> is going to be applied to all the sub-components of the <code>mainJFrame</code>? And if some of the sub-components/subJFrames <strong>haven't been initialized yet</strong>?</p>