Buggy code:
public class LineChatClientView implements FileSenderUI { public static final String CLIENT_PREFIX = "<seq2seq4repair_space>says" ; protected static final String DEFAULT_ECLIPSE_COMPONENT_CLASS = TestEclipseSessionComponent . class . getName ( ) ; public static final String DEFAULT_UNIX_BROWSER = "mozilla" ; public static final String ENTER_STRING = "ARRIVED" ; public static final String [ ] EXECPROGARGTYPES = new String [ ] { ID . class . getName ( ) , "[Ljava.lang.String;" , "[Ljava.lang.String;" , Boolean . class . getName ( ) , Boolean . class . getName ( ) } ; public static final String EXECPROGCLASSNAME = ExecProg . class . getName ( ) ; public static final String HOST_PREFIX = "You<seq2seq4repair_space>say" ; public static final String LEFT_STRING = "LEFT" ; public static final String MESSAGECLASSNAME = EclipseMessage . class . getName ( ) ; public static final String REMOTEFILEPATH = null ; public static final String [ ] SHOWURLARGTYPES = new String [ ] { ID . class . getName ( ) , "java.lang.String" } ; public static final String SHOWURLCLASSNAME = ExecURL . class . getName ( ) ; protected static final int TREE_EXPANSION_LEVELS = 1 ; public static final String TREE_HEADER = "Participants" ; private boolean showTimestamp = ClientPlugin . getDefault ( ) . getPreferenceStore ( ) . getBoolean ( PREF_DISPLAY_TIMESTAMP ) ; SimpleDateFormat df = new SimpleDateFormat ( "MM//dd<seq2seq4repair_space>hh:mm<seq2seq4repair_space>a" ) ; String downloaddir ; LineChatHandler lch ; Hashtable myNames = new Hashtable ( ) ; String name ; Vector proxyObjects = new Vector ( ) ; TeamChat teamChat ; User userdata ; LineChatView view ; protected ID appShareID = null ; protected ID getAppShareID ( ) { } protected void setAppShareID ( ID val ) { } public LineChatClientView ( LineChatHandler lch , LineChatView view , String name , String initText , String downloaddir ) { } public ViewPart getView ( ) { } public Control getTextControl ( ) { } public Control getTreeControl ( ) { } public boolean addUser ( User ud ) { } private String makeChatLine ( String line ) { } protected void addUserToTree ( User ud ) { } protected void appendAndScrollToBottom ( final ChatLine str ) { } public boolean changeUser ( User user ) { } protected boolean changeUserInTree ( User userdata ) { } protected void closeClient ( ) { } protected String dateTime ( ) { } public void disposeClient ( ) { } protected void expandAll ( ) { } protected String getPrefix ( ID objID ) { } protected TreeParent getPresenceRoot ( ) { } protected String getPrivatePrefix ( ID objID ) { } protected TeamChat getTeamChat ( ) { } protected String getUserData ( ID id ) { } public User getUser ( ID id ) { } protected void handleTextInput ( String text ) { } protected void makeObject ( ID target , String className , String [ ] args ) { } protected void makeObject ( ID target , final String className , String [ ] argTypes , Object [ ] args ) { } protected void makeProxyObject ( ID target , final String className ) { } protected TreeParent makeUserNode ( TreeParent node , Vector ht ) { } protected TreeUser makeUserNode ( User ud ) { } protected void messageProxyObject ( ID target , String classname , String meth , Object [ ] args ) { } protected void refreshTreeView ( ) { } protected void removeProxyObject ( ID target , final String className ) { } public void removeUser ( ID id ) { } protected void removeUserFromTree ( ID id ) { if ( id == null ) return ; TreeParent top = getPresenceRoot ( ) ; if ( top != null ) { for ( Iterator e = top . children ( ) . iterator ( ) ; e . hasNext ( ) ; ) { TreeUser tn = ( ( TreeUser ) ( e . next ( ) ) ) ; User ud = ( ( User ) ( tn . getUser ( ) ) ) ; if ( id . equals ( ud . getUserID ( ) ) ) { <START_BUG> top . removeChild ( tn ) ; <END_BUG> refreshTreeView ( ) ; } } } } protected void runProgram ( ID receiver , String program , String [ ] env ) { } public void sendData ( File aFile , long dataLength ) { } public void sendDone ( File aFile , Exception e ) { } public void sendStart ( File aFile , long length , float rate ) { } public void setTitle ( String title ) { } public void setVisible ( boolean visible ) { } public void showLine ( ChatLine line ) { } public void startedTyping ( final User user ) { } protected void showText ( final ChatLine line ) { } public void toFront ( ) { } protected TreeParent updateSubtree ( TreeParent root , TreeItem item ) { } public boolean updateTreeDisplay ( ID user , TreeItem item ) { } protected boolean updateUserTree ( TreeParent userNode , TreeItem item ) { } }

Fix:
e . remove ( ) ;