Buggy code:
public class BrowserManager { private static final BrowserManager INSTANCE = new BrowserManager ( ) ; private BrowserProperties browserProjectProperties ; private EditorManager editorManager ; public static BrowserManager getDefault ( ) { } private List configFiles = new ArrayList ( ) ; public static final String TITLE = "AspectJ<seq2seq4repair_space>Browser" ; private static TopFrame topFrame = null ; public final IStructureModelListener VIEW_LISTENER = new IStructureModelListener ( ) { public void containmentHierarchyUpdated ( StructureModel model ) { } } ; public void init ( String [ ] configFilesArgs , boolean visible ) { try { UserPreferencesAdapter preferencesAdapter = new UserPreferencesStore ( true ) ; browserProjectProperties = new BrowserProperties ( preferencesAdapter ) ; TaskListManager taskListManager = new CompilerMessagesPanel ( ) ; BasicEditor ajdeEditor = new BasicEditor ( ) ; BrowserUIAdapter browserUIAdapter = new BrowserUIAdapter ( ) ; BrowserManager . topFrame = new TopFrame ( ) ; configFiles = getConfigFilesList ( configFilesArgs ) ; AjdeUIManager . getDefault ( ) . init ( ajdeEditor , taskListManager , browserProjectProperties , preferencesAdapter , browserUIAdapter , new IconRegistry ( ) , BrowserManager . topFrame , true ) ; editorManager = new EditorManager ( ajdeEditor ) ; Ajde . getDefault ( ) . getBuildManager ( ) . addListener ( BUILD_MESSAGES_LISTENER ) ; MultiStructureViewPanel multiViewPanel = new MultiStructureViewPanel ( AjdeUIManager . getDefault ( ) . getViewManager ( ) . getBrowserPanel ( ) , AjdeUIManager . getDefault ( ) . getFileStructurePanel ( ) ) ; BrowserManager . topFrame . init ( multiViewPanel , ( ( CompilerMessagesPanel ) ( taskListManager ) ) , editorManager . getEditorPanel ( ) ) ; if ( visible ) BrowserManager . topFrame . setVisible ( true ) ; if ( ( configFiles . size ( ) ) == 0 ) { Ajde . getDefault ( ) . getErrorHandler ( ) . handleWarning ( ( "No<seq2seq4repair_space>build<seq2seq4repair_space>configuration<seq2seq4repair_space>selected.<seq2seq4repair_space>" + "Select<seq2seq4repair_space>a<seq2seq4repair_space>\".lst\"<seq2seq4repair_space>build<seq2seq4repair_space>configuration<seq2seq4repair_space>file<seq2seq4repair_space>in<seq2seq4repair_space>order<seq2seq4repair_space>to<seq2seq4repair_space>compile<seq2seq4repair_space>and<seq2seq4repair_space>navigate<seq2seq4repair_space>structure." ) ) ; } else { } AjdeUIManager . getDefault ( ) . getOptionsFrame ( ) . addOptionsPanel ( new BrowserOptionsPanel ( ) ) ; <START_BUG> StructureModelManager . getDefault ( ) . addListener ( VIEW_LISTENER ) ; <END_BUG> if ( ( ( configFilesArgs . length ) > 0 ) && ( ( configFilesArgs [ 0 ] ) != null ) ) { Ajde . getDefault ( ) . getConfigurationManager ( ) . setActiveConfigFile ( configFilesArgs [ 0 ] ) ; } } catch ( Throwable t ) { t . printStackTrace ( ) ; Ajde . getDefault ( ) . getErrorHandler ( ) . handleError ( "AJDE<seq2seq4repair_space>failed<seq2seq4repair_space>to<seq2seq4repair_space>initialize." , t ) ; } } public void resetEditorFrame ( ) { } public void resetEditor ( ) { } public void setStatusInformation ( String text ) { } public void setEditorStatusText ( String text ) { } public void saveAll ( ) { } public void showMessages ( ) { } public void hideMessages ( ) { } public JFrame getRootFrame ( ) { } public void openFile ( String filePath ) { } private List getConfigFilesList ( String [ ] configFiles ) { } private final BuildListener BUILD_MESSAGES_LISTENER = new BuildListener ( ) { public void compileStarted ( String buildConfigFile ) { } public void compileFinished ( String buildConfigFile , int buildTime , boolean succeeded , boolean warnings ) { } public void compileAborted ( String buildConfigFile , String message ) { } } ; public List getConfigFiles ( ) { } public BrowserProperties getBrowserProjectProperties ( ) { } public EditorManager getEditorManager ( ) { } }

Fix:
AsmManager . getDefault ( ) . addListener ( VIEW_LISTENER ) ;