Buggy code:
final class ContextAuthority implements ISourceProviderListener { private static final boolean DEBUG = Policy . DEBUG_CONTEXTS ; private static final String DISPOSE_LISTENER = "org.eclipse.ui.internal.contexts.ContextAuthority" ; private final Set [ ] activationsBySourcePriority = new Set [ 33 ] ; private final IEvaluationContext context ; private final Map contextActivationsByContextId = new HashMap ( ) ; private final ContextManager contextManager ; private final IContextService contextService ; private final Collection providers = new ArrayList ( ) ; private final Map registeredWindows = new WeakHashMap ( ) ; ContextAuthority ( final ContextManager contextManager , final IContextService contextService ) { } final void activateContext ( final IContextActivation activation ) { } final void addSourceProvider ( final ISourceProvider provider ) { } private final void checkWindowType ( final Shell newShell , final Shell oldShell ) { } private final boolean containsActive ( final Collection activations ) { } final void deactivateContext ( final IContextActivation activation ) { } public final int getShellType ( final Shell shell ) { } public final boolean registerShell ( final Shell shell , final int type ) { if ( shell == null ) { throw new NullPointerException ( "The<seq2seq4repair_space>shell<seq2seq4repair_space>was<seq2seq4repair_space>null" ) ; } if ( ContextAuthority . DEBUG ) { <START_BUG> System . out . print ( ( ( "CONTEXTS<seq2seq4repair_space>>><seq2seq4repair_space>registerShell<seq2seq4repair_space>" + shell ) + "<seq2seq4repair_space>as<seq2seq4repair_space>" ) ) ; <END_BUG> switch ( type ) { case IContextService . TYPE_DIALOG : System . out . println ( "dialog" ) ; break ; case IContextService . TYPE_WINDOW : System . out . println ( "window" ) ; break ; case IContextService . TYPE_NONE : System . out . println ( "none" ) ; break ; default : System . out . println ( "unknown" ) ; break ; } } final List activations = new ArrayList ( ) ; Expression expression ; IContextActivation dialogWindowActivation ; switch ( type ) { case IContextService . TYPE_DIALOG : expression = new ActiveShellExpression ( shell ) ; dialogWindowActivation = new ContextActivation ( IContextService . CONTEXT_ID_DIALOG_AND_WINDOW , expression , ActiveShellExpression . SOURCES , contextService ) ; activateContext ( dialogWindowActivation ) ; activations . add ( dialogWindowActivation ) ; final IContextActivation dialogActivation = new ContextActivation ( IContextService . CONTEXT_ID_DIALOG , expression , ActiveShellExpression . SOURCES , contextService ) ; activateContext ( dialogActivation ) ; activations . add ( dialogActivation ) ; break ; case IContextService . TYPE_NONE : break ; case IContextService . TYPE_WINDOW : expression = new ActiveShellExpression ( shell ) ; dialogWindowActivation = new ContextActivation ( IContextService . CONTEXT_ID_DIALOG_AND_WINDOW , expression , ActiveShellExpression . SOURCES , contextService ) ; activateContext ( dialogWindowActivation ) ; activations . add ( dialogWindowActivation ) ; final IContextActivation windowActivation = new ContextActivation ( IContextService . CONTEXT_ID_WINDOW , expression , ActiveShellExpression . SOURCES , contextService ) ; activateContext ( windowActivation ) ; activations . add ( windowActivation ) ; break ; default : throw new IllegalArgumentException ( ( "The<seq2seq4repair_space>type<seq2seq4repair_space>is<seq2seq4repair_space>not<seq2seq4repair_space>recognized:<seq2seq4repair_space>" + type ) ) ; } boolean returnValue = false ; final Collection previousActivations = ( ( Collection ) ( registeredWindows . get ( shell ) ) ) ; if ( previousActivations != null ) { returnValue = true ; final Iterator previousActivationItr = previousActivations . iterator ( ) ; while ( previousActivationItr . hasNext ( ) ) { final IContextActivation activation = ( ( IContextActivation ) ( previousActivationItr . next ( ) ) ) ; deactivateContext ( activation ) ; } } registeredWindows . put ( shell , activations ) ; final DisposeListener shellDisposeListener = new DisposeListener ( ) { public void widgetDisposed ( DisposeEvent e ) { registeredWindows . remove ( shell ) ; shell . removeDisposeListener ( this ) ; final Iterator activationItr = activations . iterator ( ) ; while ( activationItr . hasNext ( ) ) { deactivateContext ( ( ( IContextActivation ) ( activationItr . next ( ) ) ) ) ; } } } ; shell . addDisposeListener ( shellDisposeListener ) ; shell . setData ( ContextAuthority . DISPOSE_LISTENER , shellDisposeListener ) ; return returnValue ; } final void removeSourceProvider ( final ISourceProvider provider ) { } private final void sourceChanged ( final int sourcePriority ) { } public final void sourceChanged ( final int sourcePriority , final Map sourceValuesByName ) { } public final void sourceChanged ( final int sourcePriority , final String sourceName , final Object sourceValue ) { } public final boolean unregisterShell ( final Shell shell ) { } private final void updateContext ( final String contextId , final boolean active ) { } private final void updateCurrentState ( ) { } private final void updateEvaluationContext ( final String name , final Object value ) { } }

Fix:
System . out . print ( ( ( "CONTEXTS<seq2seq4repair_space>>><seq2seq4repair_space>register<seq2seq4repair_space>shell<seq2seq4repair_space>'" + shell ) + "'<seq2seq4repair_space>as<seq2seq4repair_space>" ) ) ;