if (text.length() > 0) text= PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.appendModifier", new String[] {text, Action.findModifierString(e.stateMask)});
Point selection= fBrowserLikeLinksKeyModifierText.getSelection(); int i= selection.x - 1; while (i > -1 && Character.isWhitespace(text.charAt(i))) { i--; } boolean needsPrefixDelimiter= i > -1 && !String.valueOf(text.charAt(i)).equals(DELIMITER);  i= selection.y; while (i < text.length() && Character.isWhitespace(text.charAt(i))) { i++; } boolean needsPostfixDelimiter= i < text.length() && !String.valueOf(text.charAt(i)).equals(DELIMITER);  String insertString;  if (needsPrefixDelimiter && needsPostfixDelimiter) insertString= PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.insertDelimiterAndModifierAndDelimiter", new String[] {Action.findModifierString(e.stateMask)}); else if (needsPrefixDelimiter) insertString= PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.insertDelimiterAndModifier", new String[] {Action.findModifierString(e.stateMask)}); else if (needsPostfixDelimiter) insertString= PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.insertModifierAndDelimiter", new String[] {Action.findModifierString(e.stateMask)});
			public void keyReleased(KeyEvent e) {				if (isModifierCandidate && e.stateMask > 0 && e.stateMask == e.stateMask && e.character == 0) {// && e.time -time < 1000) {					String text= fBrowserLikeLinksKeyModifierText.getText();					if (text.length() > 0)						text= PreferencesMessages.getFormattedString("JavaEditorPreferencePage.navigation.appendModifier", new String[] {text, Action.findModifierString(e.stateMask)}); //$NON-NLS-1$					else						text= Action.findModifierString(e.stateMask);					fBrowserLikeLinksKeyModifierText.setText(text);					fBrowserLikeLinksKeyModifierText.setSelection(text.length(), text.length());				}			}