IConfigurationElement[] elements = Platform.getExtensionRegistry( ) .getConfigurationElementsFor( "org.eclipse.birt.core.ui.tasks" ); for ( int i = 0; i < elements.length; i++ )
IExtension[] extensions = Platform.getExtensionRegistry( ) .getExtensionPoint( "org.eclipse.birt.core.ui", "tasks" ).getExtensions( ); for ( int iC = 0; iC < extensions.length; iC++ )
	private void processExtensions( )	{		// Actually process extensions		if ( UIHelper.isEclipseMode( ) )		{			// PROCESS 'tasks' EXTENSIONS			IConfigurationElement[] elements = Platform.getExtensionRegistry( )					.getConfigurationElementsFor( "org.eclipse.birt.core.ui.tasks" ); //$NON-NLS-1$			for ( int i = 0; i < elements.length; i++ )			{				try				{					String sID = elements[i].getAttribute( "taskID" ); //$NON-NLS-1$					ITask task = (ITask) elements[i].createExecutableExtension( "classDefinition" ); //$NON-NLS-1$					registeredTasks.put( sID, task );				}				catch ( CoreException e )				{					e.printStackTrace( );				}			}			// PROCESS 'taskWizards' EXTENSIONS			elements = Platform.getExtensionRegistry( )					.getConfigurationElementsFor( "org.eclipse.birt.core.ui.taskWizards" ); //$NON-NLS-1$			for ( int i = 0; i < elements.length; i++ )			{				String sID = elements[i].getAttribute( "wizardID" ); //$NON-NLS-1$				String sTaskList = elements[i].getAttribute( "tasklist" ); //$NON-NLS-1$				String[] sTasks = sTaskList.split( "," ); //$NON-NLS-1$				if ( registeredWizards.containsKey( sID ) )				{					String sInsertionKey = elements[i].getAttribute( "positionBefore" ); //$NON-NLS-1$					Vector vTemp = (Vector) registeredWizards.get( sID );					// IF INSERTION KEY IS SPECIFIED					if ( sInsertionKey != null							&& sInsertionKey.trim( ).length( ) > 0 )					{						int iInsertionPosition = ( (Vector) registeredWizards.get( sID ) ).indexOf( sInsertionKey );						// IF INSERTION KEY MATCHES A LOCATION IN WIZARD'S						// EXISTING TASK LIST						if ( iInsertionPosition != -1 )						{							for ( int iTaskIndex = 0; iTaskIndex < sTasks.length; iTaskIndex++ )							{								vTemp.add( iInsertionPosition + iTaskIndex,										sTasks[iTaskIndex].trim( ) );							}							continue;						}					}					registeredWizards.put( sID, addAllTasks( vTemp, sTasks ) );				}				else				{					if ( sTaskList != null && sTaskList.trim( ).length( ) > 0 )					{						registeredWizards.put( sID, addAllTasks( new Vector( ),								sTasks ) );					}					else					{						registeredWizards.put( sID, new Vector( ) );					}				}			}		}		else		{			// DO NOTHING...REGISTRATION SHOULD BE DONE THROUGH API WHEN RUNNING			// OUTSIDE OF ECLIPSE		}	}