Buggy code:
final class KeyAssistDialog extends PopupDialog { private static final String BINDING_KEY = "Binding.bindings.jface.eclipse.org" ; private static final int NO_REMEMBERED_WIDTH = - 1 ; private final IActivityManager activityManager ; private final IBindingService bindingService ; private Binding binding = null ; private final List bindings = new ArrayList ( ) ; private final ICommandService commandService ; private Table completionsTable = null ; private boolean hasRememberedState = false ; private final KeyBindingState keyBindingState ; private int previousWidth = KeyAssistDialog . NO_REMEMBERED_WIDTH ; private final WorkbenchKeyboard workbenchKeyboard ; private SortedMap conflictMatches ; KeyAssistDialog ( final IWorkbench workbench , final WorkbenchKeyboard associatedKeyboard , final KeyBindingState associatedState ) { } final void clearRememberedState ( ) { } public final boolean close ( ) { } public final boolean close ( final boolean rememberState ) { } private final boolean close ( final boolean rememberState , final boolean resetState ) { } private final void configureLocation ( final Point size ) { } private final Point configureSize ( ) { } private String getKeySequenceString ( ) { <START_BUG> final Command command = commandService . getCommand ( WINDOW_SHOWKEYASSIST ) ; <END_BUG> final TriggerSequence [ ] keyBindings = bindingService . getActiveBindingsFor ( new ParameterizedCommand ( command , null ) ) ; final int keyBindingsCount = keyBindings . length ; final KeySequence currentState = keyBindingState . getCurrentSequence ( ) ; final int prefixSize = currentState . getKeyStrokes ( ) . length ; KeySequence keySequence = null ; for ( int i = 0 ; i < keyBindingsCount ; i ++ ) { keySequence = ( ( KeySequence ) ( keyBindings [ i ] ) ) ; if ( prefixSize > 0 ) { if ( keySequence . startsWith ( currentState , false ) ) { final KeyStroke [ ] oldKeyStrokes = keySequence . getKeyStrokes ( ) ; final int newSize = ( oldKeyStrokes . length ) - prefixSize ; final KeyStroke [ ] newKeyStrokes = new KeyStroke [ newSize ] ; System . arraycopy ( oldKeyStrokes , prefixSize , newKeyStrokes , 0 , newSize ) ; keySequence = KeySequence . getInstance ( newKeyStrokes ) ; break ; } keySequence = null ; continue ; } break ; } if ( keySequence == null ) { return null ; } return NLS . bind ( openPreferencePage , keySequence . format ( ) ) ; } protected final Control createDialogArea ( final Composite parent ) { } private final void createEmptyDialogArea ( final Composite parent ) { } private final void createTableDialogArea ( final Composite parent , final SortedMap partialMatches ) { } private final void editKeyBinding ( ) { } private final void executeKeyBinding ( final Event trigger ) { } private final SortedMap getPartialMatches ( ) { } private final boolean hasRememberedState ( ) { } public final int open ( ) { } public final int open ( Collection bindings ) { } private final void registerShellType ( ) { } private final void rememberState ( final int previousWidth , final Binding binding ) { } protected final void setParentShell ( final Shell newParentShell ) { } }

Fix:
final Command command = commandService . getCommand ( WINDOW_SHOW_KEY_ASSIST ) ;