Buggy code:
public final class CoreRegistry extends AbstractRegistry { private final class RegistryReader extends org . eclipse . ui . internal . registry . RegistryReader { private static final String DEPRECATED_KEY_SEQUENCE_SEPARATOR = "||" ; private static final String DEPRECATED_TAG_ACCELERATOR = "accelerator" ; private static final String DEPRECATED_TAG_ACCELERATOR_CONFIGURATION = "acceleratorConfiguration" ; private static final String DEPRECATED_TAG_ACCELERATOR_CONFIGURATIONS = "acceleratorConfigurations" ; private static final String DEPRECATED_TAG_ACCELERATOR_SCOPE = "acceleratorScope" ; private static final String DEPRECATED_TAG_ACCELERATOR_SCOPES = "acceleratorScopes" ; private static final String DEPRECATED_TAG_ACCELERATOR_SET = "acceleratorSet" ; private static final String DEPRECATED_TAG_ACCELERATOR_SETS = "acceleratorSets" ; private static final String DEPRECATED_TAG_ACTION_DEFINITION = "actionDefinition" ; private static final String DEPRECATED_TAG_ACTION_DEFINITIONS = "actionDefinitions" ; private static final String DEPRECATED_TAG_CONFIGURATION_ID = "configurationId" ; private static final String DEPRECATED_TAG_KEY = "key" ; private static final String DEPRECATED_TAG_SCOPE_ID = "scopeId" ; private static final int RANK_CORE = 2 ; private static final String TAG_ROOT = Persistence . PACKAGE_BASE ; private List activeGestureConfigurations ; private List activeKeyConfigurations ; private List categories ; private List commands ; private List gestureBindings ; private List gestureConfigurations ; private List keyBindings ; private String keyConfiguration ; private List keyConfigurations ; private String scope ; private List scopes ; private RegistryReader ( IPluginRegistry pluginRegistry ) { } protected boolean readElement ( IConfigurationElement element ) { } private String getPlugin ( IConfigurationElement element ) { } private boolean readActiveGestureConfiguration ( IConfigurationElement element ) { } private boolean readActiveKeyConfiguration ( IConfigurationElement element ) { } private boolean readCategory ( IConfigurationElement element ) { } private boolean readCommand ( IConfigurationElement element ) { } private boolean readDeprecatedAccelerator ( IConfigurationElement element ) { if ( ( ( keyConfiguration ) == null ) || ( ( scope ) == null ) ) return false ; String id = element . getAttribute ( TAG_ID ) ; String key = element . getAttribute ( CoreRegistry . RegistryReader . DEPRECATED_TAG_KEY ) ; if ( key != null ) { List keySequences = new ArrayList ( ) ; StringTokenizer orTokenizer = new StringTokenizer ( key , CoreRegistry . RegistryReader . DEPRECATED_KEY_SEQUENCE_SEPARATOR ) ; while ( orTokenizer . hasMoreTokens ( ) ) { try { KeySequence keySequence = KeySequence . parse ( orTokenizer . nextToken ( ) ) ; if ( ( keySequence . getKeyStrokes ( ) . size ( ) ) >= 1 ) keySequences . add ( keySequence ) ; } catch ( IllegalArgumentException eIllegalArgument ) { } } if ( ( keySequences . size ( ) ) >= 1 ) { String locale = element . getAttribute ( TAG_LOCALE ) ; if ( locale == null ) locale = Persistence . ZERO_LENGTH_STRING ; String platform = element . getAttribute ( TAG_PLATFORM ) ; if ( platform == null ) platform = Persistence . ZERO_LENGTH_STRING ; String plugin = getPlugin ( element ) ; Iterator iterator = keySequences . iterator ( ) ; while ( iterator . hasNext ( ) ) { KeySequence keySequence = ( ( KeySequence ) ( iterator . next ( ) ) ) ; <START_BUG> keyBindings . add ( KeyBinding . create ( id , keyConfiguration , keySequence , locale , platform , plugin , 0 , scope ) ) ; <END_BUG> } } } return true ; } private boolean readDeprecatedAcceleratorSet ( IConfigurationElement element ) { } private boolean readGestureBinding ( IConfigurationElement element ) { } private boolean readGestureConfiguration ( IConfigurationElement element ) { } private boolean readKeyBinding ( IConfigurationElement element ) { } private boolean readKeyConfiguration ( IConfigurationElement element ) { } private boolean readScope ( IConfigurationElement element ) { } } private static CoreRegistry instance ; public static CoreRegistry getInstance ( ) { } private CoreRegistry ( ) { } public void load ( ) throws IOException { } }

Fix:
keyBindings . add ( KeyBinding . create ( id , keyConfiguration , keySequence , locale , platform , plugin , CoreRegistry . RegistryReader . RANK_CORE , scope ) ) ;