Buggy code:
public class ChatRoomSelectionDialog extends TitleAreaDialog { IChatRoomManager [ ] managers = null ; private ChatRoomSelectionDialog . Room selectedRoom = null ; public class Room { IChatRoomInfo info ; IChatRoomManager manager ; public Room ( IChatRoomInfo info , IChatRoomManager man ) { } public IChatRoomInfo getRoomInfo ( ) { } public IChatRoomManager getManager ( ) { } } public ChatRoomSelectionDialog ( Shell parentShell , IChatRoomManager [ ] managers ) { } protected Control createDialogArea ( Composite parent ) { Composite main = new Composite ( parent , SWT . NONE ) ; main . setLayout ( new GridLayout ( ) ) ; main . setLayoutData ( new GridData ( GridData . FILL_BOTH ) ) ; TableViewer viewer = new TableViewer ( main , ( ( SWT . BORDER ) | ( SWT . FULL_SELECTION ) ) ) ; Table table = viewer . getTable ( ) ; table . setHeaderVisible ( true ) ; table . setLinesVisible ( true ) ; GridData tableGridData = new GridData ( GridData . FILL_BOTH ) ; tableGridData . grabExcessHorizontalSpace = true ; table . setLayoutData ( tableGridData ) ; TableColumn tc = new TableColumn ( table , SWT . NONE ) ; tc . setText ( "Room<seq2seq4repair_space>Name" ) ; tc . pack ( ) ; int width = tc . getWidth ( ) ; tc . setWidth ( ( width + ( width // 4 ) ) ) ; tc = new TableColumn ( table , SWT . NONE ) ; tc . setText ( "Subject" ) ; tc . pack ( ) ; width = tc . getWidth ( ) ; tc . setWidth ( ( width + ( width // 4 ) ) ) ; tc = new TableColumn ( table , SWT . NONE ) ; tc . setText ( "Description" ) ; tc . pack ( ) ; width = tc . getWidth ( ) ; tc . setWidth ( ( width + ( width // 3 ) ) ) ; tc = new TableColumn ( table , SWT . NONE ) ; tc . setText ( "Members" ) ; tc . pack ( ) ; tc = new TableColumn ( table , SWT . NONE ) ; tc . setText ( "Moderated" ) ; tc . pack ( ) ; tc = new TableColumn ( table , SWT . NONE ) ; tc . setText ( "Persistent" ) ; tc . pack ( ) ; tc = new TableColumn ( table , SWT . NONE ) ; tc . setText ( "Account" ) ; tc . pack ( ) ; width = tc . getWidth ( ) ; tc . setWidth ( ( width * 3 ) ) ; viewer . addSelectionChangedListener ( new ISelectionChangedListener ( ) { public void selectionChanged ( SelectionChangedEvent event ) { if ( ! ( event . getSelection ( ) . isEmpty ( ) ) ) { ChatRoomSelectionDialog . this . getButton ( OK ) . setEnabled ( true ) ; } } } ) ; viewer . setContentProvider ( new ChatRoomSelectionDialog . ChatRoomContentProvider ( ) ) ; viewer . setLabelProvider ( new ChatRoomSelectionDialog . ChatRoomLabelProvider ( ) ) ; List all = new ArrayList ( ) ; for ( int i = 0 ; i < ( managers . length ) ; i ++ ) { <START_BUG> IChatRoomInfo [ ] infos = managers [ i ] . getChatRoomsInfo ( ) ; <END_BUG> if ( infos != null ) { for ( int j = 0 ; j < ( infos . length ) ; j ++ ) { if ( ( ( infos [ j ] ) != null ) && ( ( managers [ i ] ) != null ) ) { all . add ( new ChatRoomSelectionDialog . Room ( infos [ j ] , managers [ i ] ) ) ; } } } } ChatRoomSelectionDialog . Room [ ] rooms = ( ( ChatRoomSelectionDialog . Room [ ] ) ( all . toArray ( new ChatRoomSelectionDialog . Room [ ] { } ) ) ) ; viewer . setInput ( rooms ) ; this . setTitle ( "Chat<seq2seq4repair_space>Room<seq2seq4repair_space>Selection" ) ; this . setMessage ( "Select<seq2seq4repair_space>a<seq2seq4repair_space>Chat<seq2seq4repair_space>Room<seq2seq4repair_space>to<seq2seq4repair_space>Enter" ) ; viewer . addSelectionChangedListener ( new ISelectionChangedListener ( ) { public void selectionChanged ( SelectionChangedEvent event ) { StructuredSelection s = ( ( StructuredSelection ) ( event . getSelection ( ) ) ) ; if ( ( s . getFirstElement ( ) ) instanceof ChatRoomSelectionDialog . Room ) { selectedRoom = ( ( ChatRoomSelectionDialog . Room ) ( s . getFirstElement ( ) ) ) ; } } } ) ; viewer . addDoubleClickListener ( new IDoubleClickListener ( ) { public void doubleClick ( DoubleClickEvent event ) { if ( ( selectedRoom ) != null ) { ChatRoomSelectionDialog . this . okPressed ( ) ; } } } ) ; return parent ; } private class ChatRoomContentProvider implements IStructuredContentProvider { public Object [ ] getElements ( Object inputElement ) { } public void dispose ( ) { } public void inputChanged ( Viewer viewer , Object oldInput , Object newInput ) { } } private class ChatRoomLabelProvider implements ITableLabelProvider { public Image getColumnImage ( Object element , int columnIndex ) { } public String getColumnText ( Object element , int columnIndex ) { } public void addListener ( ILabelProviderListener listener ) { } public void dispose ( ) { } public boolean isLabelProperty ( Object element , String property ) { } public void removeListener ( ILabelProviderListener listener ) { } } protected Control createButtonBar ( Composite parent ) { } public ChatRoomSelectionDialog . Room getSelectedRoom ( ) { } }

Fix:
IChatRoomInfo [ ] infos = managers [ i ] . getChatRoomInfos ( ) ;