else
} else if ( e.getSource( ) instanceof TabFolder ) { String sCmd = ( (TabItem) e.item ).getText( ); int indexLabel = vTaskLabels.indexOf( sCmd ); if ( indexLabel >= 0 )
	public void widgetSelected( SelectionEvent e )	{		if ( e.getSource( ) instanceof Button )		{			String sCmd = ( (Button) e.getSource( ) ).getText( );			if ( sCmd.equals( Messages.getString( "WizardBase.Next" ) ) ) //$NON-NLS-1$			{				int i = vTaskIDs.indexOf( this.sCurrentActiveTask );				if ( i < vTaskIDs.size( ) - 1 )				{					this.switchTo( (String) vTaskIDs.get( i + 1 ) );					buttonpanel.setButtonEnabled( ButtonPanel.BACK, true );				}				if ( i == vTaskIDs.size( ) - 2 )				{					buttonpanel.setButtonEnabled( ButtonPanel.NEXT, false );				}			}			else if ( sCmd.equals( Messages.getString( "WizardBase.Back" ) ) ) //$NON-NLS-1$			{				int i = vTaskIDs.indexOf( this.sCurrentActiveTask );				if ( i > 0 )				{					this.switchTo( (String) vTaskIDs.get( i - 1 ) );					buttonpanel.setButtonEnabled( ButtonPanel.NEXT, true );				}				if ( i == 1 )				{					// Just switched to first tab					buttonpanel.setButtonEnabled( ButtonPanel.BACK, false );				}			}			else if ( sCmd.equals( Messages.getString( "WizardBase.Finish" ) ) ) //$NON-NLS-1$			{				final String[] saMessages = validate( );				if ( saMessages != null && saMessages.length > 0 )				{					ErrorDialog ed = new ErrorDialog( shellParent,							Messages.getString( "WizardBase.error.ErrorsEncountered" ), //$NON-NLS-1$							Messages.getString( "WizardBase.error.FollowingErrorsReportedWhileVerifying" ), //$NON-NLS-1$							saMessages,							new String[]{} );					if ( ed.getOption( ) == ErrorDialog.OPTION_ACCEPT )					{						// Stop quitting to fix manually						return;					}				}				this.bWasCancelled = false;				shell.dispose( );			}			else if ( sCmd.equals( Messages.getString( "WizardBase.Cancel" ) ) ) //$NON-NLS-1$			{				// Ensure context is not null to dispose				shell.dispose( );				context = null;			}			else			{				if ( vTaskIDs.get( vTaskLabels.indexOf( sCmd ) )						.equals( sCurrentActiveTask ) )				{					// Keep the selection					tasklist.setActive( sCmd );				}				else				{					// Skip the request to the current task					switchTo( (String) vTaskIDs.get( vTaskLabels.indexOf( sCmd ) ) );					int i = vTaskIDs.indexOf( this.sCurrentActiveTask );					buttonpanel.setButtonEnabled( ButtonPanel.NEXT,							( i < vTaskIDs.size( ) - 1 ) ? true : false );					buttonpanel.setButtonEnabled( ButtonPanel.BACK, ( i > 0 )							? true : false );				}			}		}	}