Buggy code:
public class EclipseCollabSharedObject extends GenericSharedObject implements EclipseProject , LineChatHandler { protected static final String CHAT_VIEW_ID = LineChatView . class . getName ( ) ; protected static String DEFAULTTREETOPLABEL = "Presence" ; public static final String ECLIPSEOBJECTNAME = "chat" ; public static final String INIT_TEXT = "Collaboration<seq2seq4repair_space>for<seq2seq4repair_space>" ; Date creationTime = new Date ( ) ; String downloaddir = "" ; protected LineChatClientView localGUI ; IResource localProject ; User localUser ; String localVersion = "" ; ID serverID ; SharedObjectEventListener sessionListener ; IWorkbenchWindow shellWindow ; String treeTopLabel ; String windowtitle = "Chat" ; URL [ ] projectCodebase = null ; public EclipseCollabSharedObject ( ) { } public EclipseCollabSharedObject ( IResource proj , IWorkbenchWindow shell , User user , String downloaddir ) { } public void activated ( ID [ ] others ) { super . activated ( others ) ; if ( ( localGUI ) == null ) { try { <START_BUG> if ( ! ( getContext ( ) . isGroupServer ( ) ) ) <END_BUG> destroySelfLocal ( ) ; } catch ( Exception e ) { debugdump ( e , "Unable<seq2seq4repair_space>to<seq2seq4repair_space>check<seq2seq4repair_space>whether<seq2seq4repair_space>we<seq2seq4repair_space>are<seq2seq4repair_space>server<seq2seq4repair_space>instance" ) ; destroySelfLocal ( ) ; } } } public void chatException ( Exception e , String text ) { } public void chatGUIDestroy ( ) { } protected void checkRegisterProxyPolicy ( String operation , User sender , String proxyClass ) throws SecurityException { } public void deactivated ( ) { } public void debugdump ( Exception e , String aString ) { } public void debugmsg ( String aString ) { } public void destroySelf ( ) { } public String getDownloaddir ( String dir ) { } public SharedObjectEventListener getListener ( ) { } public String getLocalFullProjectPath ( ) { } public String getLocalFullDownloadPath ( ) { } public ID getObjectID ( ) { } protected LineChatClientView getOutputWindow ( ) { } public IResource getResource ( ) { } protected SharedObjectDescription getReplicaDescription ( ID remoteID ) { } public ID getServerID ( ) { } public String getTreeTopLabel ( ) { } public ID getUniqueID ( ) { } public User getUser ( ) { } public User getUserForID ( final ID user ) { } public String getUserName ( ) { } public String getVersionString ( ) { } public String getWindowTitle ( ) { } public IWorkbenchWindow getWorkbenchWindow ( ) { } protected void handleCreateObject ( SharedObjectDescription cons ) { } public void handleNotifyUserAdded ( User user ) { } protected void handleRegisterProxy ( User sender , String proxyClass , String name ) { } protected void handleRequestUserUpdate ( ID requestor ) { } protected void handleShowPrivateTextMsg ( final User remote , final String aString ) { } protected void handleShowTextMsg ( ID remote , String aString ) { } protected void handleUnregisterProxy ( User sender , String name ) { } protected void handleUpdateTreeDisplay ( final ID fromID , final TreeItem item ) { } protected void handleUserUpdate ( final User ud ) { } protected void handleUserMessage ( final User sender , String msg ) { } protected synchronized void handleStartedTyping ( User user ) { } public void sendStartedTyping ( ) { } public void inputText ( String aString ) { } public boolean isHost ( ) { } public void joinGroup ( ID remote , IJoinContext data ) throws SharedObjectContainerJoinException { } public void leaveGroup ( ) { } public URL [ ] getCodeBase ( ) { } public void localRegisterProxy ( User sender , String proxyClass , String name ) { } public void localUnregisterProxy ( User ud , String name ) { } public Object getObject ( ID obj ) { } public void makeProxyObject ( ID target , String proxyClass , String name ) { } public void memberAdded ( ID member ) { } public void memberRemoved ( final ID member ) { } public void messageProxyObject ( ID target , String classname , String meth , Object [ ] args ) { } public void otherActivated ( ID object ) { } public void otherDeactivated ( ID object ) { } public void refreshProject ( ) { } public void registerEclipseProxy ( boolean localAlso , ID [ ] toReceivers , String proxyClass , String name ) { } public void removeProxyObject ( ID target , String name ) { } public void sendNotifyUserAdded ( ) { } public void sendPrivateMessageToUser ( User touser , String msg ) { } public void sendRegisterProxy ( ID toID , String proxyClass , String name ) { } public void sendRequestUserUpdate ( ID requestTarget ) { } public void sendCVSProjectUpdateRequest ( User touser , String msg ) { } public boolean isCVSShared ( ) { } protected void doCVSUpdateOperation ( IResource proj , User fromUser ) { } protected void handleCVSProjectUpdateRequest ( final User fromUser , final String msg ) { } public void sendRingMessageToUser ( User user , String msg ) { } public void sendShowTextMsg ( String msg ) { } public void sendUnregisterProxy ( ID toID , String proxyClass ) { } public void sendUpdateTreeDisplay ( ID target , TreeItem item ) { } public void sendUserUpdate ( ID target ) { } public void setListener ( SharedObjectEventListener l ) { } public void setServerID ( ID server ) { } public void setVersionString ( String ver ) { } public void setWindowTitle ( String title ) { } public void show ( final boolean show ) { } public void showLineOnGUI ( final ID remote , final String line ) { } public void showRawLine ( final ID sender , final String line ) { } public void showView ( ) { } public void sendShowViewWithID ( User touser , String id , String secID , Integer mode ) { } public void sendShowView ( User touser , String id ) { } protected void handleShowViewWithID ( User fromUser , final String id , final String secID , final Integer mode ) { }

Fix:
if ( ! ( getContext ( ) . isGroupManager ( ) ) )