shell = new Shell( display );
shell = new Shell( display, SWT.DIALOG_TRIM | SWT.RESIZE | SWT.APPLICATION_MODAL );
    public IWizardContext open( String[] sTasks, IWizardContext initialContext )    {        // Update initial context        context = initialContext;        // Initialize UI elelents        GridLayout glShell = new GridLayout( );        glShell.numColumns = 1;        glShell.marginHeight = 5;        glShell.marginWidth = 5;        display = Display.getDefault( );        shell = new Shell( display );        // Set shell properties        shell.setLayout( glShell );        shell.setSize( iWizardWidth, iWizardHeight );        shell.setLocation( ( display.getClientArea( ).width / 2 - ( iWizardWidth / 2 ) ),                ( display.getClientArea( ).height / 2 ) - ( iWizardHeight / 2 ) );        shell.setText( wizardTitle );        if ( wizardImage != null )        {            shell.setImage( wizardImage );        }        shell.addControlListener( this );        // Initialize and layout UI components of the framework        tasklist = new TaskList( shell, SWT.NONE, this );        tasklist.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );        placeComponents( );        buttonpanel = new ButtonPanel( shell, SWT.NONE, this );        // Add tasks        String[] allTasks = TasksManager.instance( )                .getTasksForWizard( sWizardID );        if ( allTasks.length > 0 )        {            buttonpanel.setButtonEnabled( ButtonPanel.NEXT, true );        }        // ADD DEFAULT TASKS AS DEFINED BY EXTENSIONS        for ( int i = 0; i < allTasks.length; i++ )        {            addTask( allTasks[i] );        }        // ADD TASKS SPECIFIED DURING INVOCATION        if ( sTasks != null && sTasks.length > 0 )        {            for ( int i = 0; i < sTasks.length; i++ )            {                if ( !vTaskIDs.contains( sTasks[i] ) )                {                    addTask( sTasks[i] );                }            }        }        switchTo( (String) vTaskIDs.get( 0 ) );        sCurrentActiveTask = vTaskIDs.get( 0 ).toString( );        shell.addDisposeListener( this );        shell.open( );        while ( !shell.isDisposed( ) )        {            if ( !display.readAndDispatch( ) )            {                display.sleep( );            }        }        return this.context;    }