Buggy code:
} catch ( IOException e ) { dumpStack ( ( ( ( "Exception<seq2seq4repair_space>in<seq2seq4repair_space>sendmessage<seq2seq4repair_space>to<seq2seq4repair_space>" + toID ) + "<seq2seq4repair_space>with<seq2seq4repair_space>message<seq2seq4repair_space>" ) + message ) , e ) ; } } } ; } public IPresenceSender getPresenceSender ( ) { return new IPresenceSender ( ) { public void sendPresenceUpdate ( ID fromID , ID toID , IPresence presence ) { try { Presence newPresence = createPresenceFromIPresence ( presence ) ; XMPPClientSOContainer . this . sendPresenceUpdate ( toID , newPresence ) ; } catch ( IOException e ) { dumpStack ( ( ( ( "Exception<seq2seq4repair_space>in<seq2seq4repair_space>sendPresenceUpdate<seq2seq4repair_space>to<seq2seq4repair_space>" + toID ) + "<seq2seq4repair_space>with<seq2seq4repair_space>presence<seq2seq4repair_space>" ) + presence ) , e ) ; } } public void sendRosterAdd ( ID fromID , String user , String name , String [ ] groups ) { try { XMPPClientSOContainer . this . sendRosterAdd ( user , name , groups ) ; } catch ( IOException e ) { dumpStack ( "Exception<seq2seq4repair_space>in<seq2seq4repair_space>sendRosterAdd" , e ) ; } } public void sendRosterRemove ( ID fromID , ID userID ) { try { if ( userID == null ) return ; XMPPClientSOContainer . this . sendRosterRemove ( userID . getName ( ) ) ; } catch ( IOException e ) { dumpStack ( "Exception<seq2seq4repair_space>in<seq2seq4repair_space>sendRosterAdd" , e ) ; } } } ; } public IAccountManager getAccountManager ( ) { return new IAccountManager ( ) { public boolean changePassword ( String newpassword ) throws ECFException { return delegate . changePassword ( newpassword ) ; } public boolean createAccount ( String username , String password , Map attributes ) throws ECFException { return delegate . createAccount ( username , password , attributes ) ; } public boolean deleteAccount ( ) throws ECFException { return delegate . deleteAccount ( ) ; } public String getAccountInstructions ( ) throws ECFException { return delegate . getAccountInstructions ( ) ; } public String [ ] getAccountAttributeNames ( ) throws ECFException { return delegate . getAccountAttributeNames ( ) ; } public Object getAccountAttribute ( String name ) throws ECFException { return delegate . getAccountAttribute ( name ) ; } public boolean isAccountCreationSupported ( ) { return delegate . isAccountCreationSupported ( ) ; } } ; } public void addRosterSubscribeListener ( IRosterSubscribeListener listener ) { delegate . addSubscribeListener ( listener ) ; } public IChatRoomManager getChatRoomManager ( ) { return new IChatRoomManager ( ) { public IChatRoomManager getParent ( ) { return null ; } public IChatRoomManager [ ] getChildren ( ) { return new IChatRoomManager [ 0 ] ; } public ID [ ] getChatRooms ( ) { return XMPPClientSOContainer . this . getChatRooms ( ) ; } public IRoomInfo getChatRoomInfo ( String roomname ) { return XMPPClientSOContainer . this . getChatRoomInfo ( roomname ) ; } public IRoomInfo [ ] getChatRoomsInfo ( ) { ID [ ] chatRooms = getChatRooms ( ) ; if ( chatRooms == null ) return null ; IRoomInfo [ ] res = new IRoomInfo [ chatRooms . length ] ; int count = 0 ; for ( int i = 0 ; i < ( chatRooms . length ) ; i ++ ) { IRoomInfo infoResult = XMPPClientSOContainer . this . getChatRoomInfo ( chatRooms [ i ] ) ; if ( infoResult != null ) { res [ ( count ++ ) ] = infoResult ; } } IRoomInfo [ ] results = new IRoomInfo [ count ] ; for ( int i = 0 ; i < count ; i ++ ) { results [ i ] = res [ i ] ; } return results ; } public Object getAdapter ( Class adapter ) { return null ; } public void addInvitationListener ( IInvitationListener listener ) { delegate . addInvitationListener ( listener ) ; } public void removeInvitationListener ( IInvitationListener listener ) { delegate . removeInvitationListener ( listener ) ; } } ; } public void removeMessageListener ( IMessageListener listener ) { delegate . removeMessageListener ( listener ) ; } public void removePresenceListener ( IPresenceListener listener ) { delegate . removePresenceListener ( listener ) ; } <START_BUG> public void removeSubscribeListener ( IRosterSubscribeListener listener ) { <END_BUG> delegate . removeSubscribeListener ( listener ) ; } } ; } else { return super . getAdapter ( clazz ) ; } } protected Collection getHostedRoomForService ( String svc ) throws XMPPException { } protected ID createIDFromHostedRoom ( HostedRoom room ) { } protected ID [ ] getChatRooms ( ) { } class ECFRoomInfo implements IRoomInfo { RoomInfo info ; XMPPRoomID roomID ; ID connectedID ; public ECFRoomInfo ( XMPPRoomID roomID , RoomInfo info , ID connectedID ) { } public String getDescription ( ) { } public String getSubject ( ) { } public ID getRoomID ( ) { } public int getParticipantsCount ( ) { } public String getName ( ) { } public boolean isPersistent ( ) { } public boolean requiresPassword ( ) { } public boolean isModerated ( ) { } public ID getConnectedID ( ) { } public Object getAdapter ( Class clazz ) { return null ; } public IChatRoomContainer createChatRoomContainer ( ) throws ContainerCreateException { } public String toString ( ) { } } protected IRoomInfo getChatRoomInfo ( ID roomID ) { } protected IRoomInfo getChatRoomInfo ( String roomname ) { } List transferListeners = new ArrayList ( ) ; List incomingTransferListeners = new ArrayList ( ) ; protected void addFileTransferListener ( IFileTransferListener listener ) { } protected void removeFileTransferListener ( IFileTransferListener listener ) { } public void addListener ( IIncomingFileTransferRequestListener listener ) { } public void sendOutgoingRequest ( ID targetReceiver , IFileTransferInfo localFileToSend , IFileTransferListener progressListener , Map options ) throws OutgoingFileTransferException { } protected void fireFileTransferEvent ( IFileTransferEvent event ) { } public Namespace getOutgoingFileTransferNamespace ( ) { } public boolean removeListener ( IIncomingFileTransferRequestListener listener ) { } public void sendOutgoingRequest ( ID targetReceiver , File localFileToSend , IFileTransferListener transferListener , Map options ) throws OutgoingFileTransferException { } }

Fix:
public void removeRosterSubscribeListener ( IRosterSubscribeListener listener ) {