O principal objetivo do SwingUtilities invokeLater

Eu tenho esse trecho de código

import javax.swing.SwingUtilities;

public class Client1 {

    public static void main( String[] args ) {

        SwingUtilities.invokeLater( new Runnable() {
            public void run() {
                //new MyWindow( "Bayog" );
                new MyWindowV2( "Bayog" );
            }
        } );   
    }
}

qual é a diferença se eu não usar o SwingUtilities?

questionAnswers(1)

yourAnswerToTheQuestion