Buggy code:
public final class WorkbenchHelpSystem implements IWorkbenchHelpSystem { public static final String HELP_KEY = "org.eclipse.ui.help" ; private static final String HELP_SYSTEM_EXTENSION_ID = ( ( PlatformUI . PLUGIN_ID ) + '.' ) + ( IWorkbenchRegistryConstants . PL_HELPSUPPORT ) ; private static final String HELP_SYSTEM_CLASS_ATTRIBUTE = "class" ; private static WorkbenchHelpSystem instance ; private static class WorkbenchHelpListener implements HelpListener { public void helpRequested ( HelpEvent event ) { } } private boolean isInitialized ; private AbstractHelpUI pluggableHelpUI = null ; private String desiredHelpSystemId ; private IExtensionChangeHandler handler = new IExtensionChangeHandler ( ) { public void addExtension ( IExtensionTracker tracker , IExtension extension ) { } public void removeExtension ( IExtension source , Object [ ] objects ) { } } ; private class CompatibilityIHelpImplementation implements IHelp { public void displayHelp ( ) { } public void displayContext ( IContext context , int x , int y ) { } public void displayContext ( String contextId , int x , int y ) { } public void displayHelpResource ( String href ) { } public void displayHelpResource ( IHelpResource helpResource ) { } public void displayHelp ( String toc ) { } public void displayHelp ( String toc , String selectedTopic ) { } public void displayHelp ( String contextId , int x , int y ) { } public void displayHelp ( IContext context , int x , int y ) { } public IContext getContext ( String contextId ) { } public IToc [ ] getTocs ( ) { } public boolean isContextHelpDisplayed ( ) { } } private static class ContextWithTitle implements IContext2 { private IContext context ; private String title ; ContextWithTitle ( IContext context , String title ) { } public String getTitle ( ) { } public String getStyledText ( ) { } public String getCategory ( IHelpResource topic ) { } public IHelpResource [ ] getRelatedTopics ( ) { } public String getText ( ) { } } private IHelp helpCompatibilityWrapper = null ; private static HelpListener helpListener ; public String getDesiredHelpSystemId ( ) { } public void setDesiredHelpSystemId ( String desiredHelpSystemId ) { } private WorkbenchHelpSystem ( ) { } public static WorkbenchHelpSystem getInstance ( ) { } public static void disposeIfNecessary ( ) { } public void dispose ( ) { } private AbstractHelpUI getHelpUI ( ) { } private boolean initializePluggableHelpUI ( ) { final boolean [ ] ret = new boolean [ ] { false } ; BusyIndicator . showWhile ( Display . getCurrent ( ) , new Runnable ( ) { public void run ( ) { IExtensionPoint point = Platform . getExtensionRegistry ( ) . getExtensionPoint ( WorkbenchHelpSystem . HELP_SYSTEM_EXTENSION_ID ) ; if ( point == null ) { return ; } IExtension [ ] extensions = point . getExtensions ( ) ; if ( ( extensions . length ) == 0 ) { return ; } IConfigurationElement elementToUse = null ; if ( ( desiredHelpSystemId ) == null ) { elementToUse = getFirstElement ( extensions ) ; } else { elementToUse = findElement ( desiredHelpSystemId , extensions ) ; } if ( elementToUse != null ) { ret [ 0 ] = initializePluggableHelpUI ( elementToUse ) ; } } private IConfigurationElement findElement ( String desiredHelpSystemId , IExtension [ ] extensions ) { for ( int i = 0 ; i < ( extensions . length ) ; i ++ ) { IExtension extension = extensions [ i ] ; if ( desiredHelpSystemId . equals ( extension . getUniqueIdentifier ( ) ) ) { <START_BUG> IConfigurationElement [ ] elements = extensions [ 0 ] . getConfigurationElements ( ) ; <END_BUG> if ( ( elements . length ) == 0 ) { return null ; } return elements [ 0 ] ; } } return null ; } private IConfigurationElement getFirstElement ( IExtension [ ] extensions ) { IConfigurationElement [ ] elements = extensions [ 0 ] . getConfigurationElements ( ) ; if ( ( elements . length ) == 0 ) { return null ; } return elements [ 0 ] ; } private boolean initializePluggableHelpUI ( IConfigurationElement element ) { try { pluggableHelpUI = ( ( AbstractHelpUI ) ( WorkbenchPlugin . createExtension ( element , WorkbenchHelpSystem . HELP_SYSTEM_CLASS_ATTRIBUTE ) ) ) ; PlatformUI . getWorkbench ( ) . getExtensionTracker ( ) . registerHandler ( handler , null ) ; PlatformUI . getWorkbench ( ) . getExtensionTracker ( ) . registerObject ( element . getDeclaringExtension ( ) , pluggableHelpUI , IExtensionTracker . REF_WEAK ) ; return true ; } catch ( CoreException e ) { WorkbenchPlugin . log ( ( "Unable<seq2seq4repair_space>to<seq2seq4repair_space>instantiate<seq2seq4repair_space>help<seq2seq4repair_space>UI" + ( e . getStatus ( ) ) ) , e ) ; } return false ; } } ) ; return ret [ 0 ] ; } private static Point computePopUpLocation ( Display display ) { } private HelpListener getHelpListener ( ) { } public IHelp getHelpSupport ( ) { } public void setHelp ( IAction action , final Object [ ] contexts ) { } public void setHelp ( IAction action , final IContextComputer computer ) { } public void setHelp ( Control control , Object [ ] contexts ) { } public void setHelp ( Control control , IContextComputer computer ) { } public void setHelp ( Menu menu , Object [ ] contexts ) { } public void setHelp ( Menu menu , IContextComputer computer ) { } public void setHelp ( MenuItem item , Object [ ] contexts ) { } public void setHelp ( MenuItem item , IContextComputer computer ) { } public HelpListener createHelpListener ( ICommand command ) { } public void displayHelp ( ) { } public void displaySearch ( ) { } public void displayDynamicHelp ( ) { } public void search ( String expression ) { } public URL resolve ( String href , boolean documentOnly ) { } public void displayContext ( IContext context , int x , int y ) { } public void displayHelpResource ( String href ) { }

Fix:
IConfigurationElement [ ] elements = extension . getConfigurationElements ( ) ;