{
// Checking skin support
checkSupport ( skin );
// Saving previously applied skin
final WebLafSkin previousSkin = currentSkin;
// Updating currently applied skin
currentSkin = skin;
// Applying new skin to all existing skinnable components
for ( final Map.Entry<JComponent, WebLafSkin> entry : appliedSkins.entrySet () )
{
final JComponent component = entry.getKey ();
final WebLafSkin oldSkin = entry.getValue ();
if ( oldSkin != null )
{
oldSkin.removeSkin ( component );
}
if ( skin != null )
{
skin.applySkin ( component );
}