Bug 127171 [Commands] New API elements missing @since
Build id: I20060208-0848 The following new API elements in Eclipse 3.2 are missing "@since 3.2" tags: org.eclipse.core.commands.Command#addState(java.lang.String, org.eclipse.core.commands.State) org.eclipse.core.commands.Command#removeState(java.lang.String) org.eclipse.core.commands.CommandManager#AUTOGENERATED_CATEGORY_ID org.eclipse.core.commands.CommandManager#getAllCommands() org.eclipse.core.commands.ExecutionEvent#toString() org.eclipse.core.commands.operations.TriggeredOperations#replaceContext(org.eclipse.core.commands.operations.IUndoContext, org.eclipse.core.commands.operations.IUndoContext) org.eclipse.jface.bindings.keys.KeySequenceText#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener) org.eclipse.jface.bindings.keys.KeySequenceText#firePropertyChangeEvent(org.eclipse.jface.bindings.keys.KeySequence) org.eclipse.jface.bindings.keys.KeySequenceText#P_KEY_SEQUENCE org.eclipse.jface.bindings.keys.KeySequenceText#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
bundles/org.eclipse.jface/src/org/eclipse/jface/bindings/keys/KeySequenceText.java
private final int deleteSelection(final KeyStroke[] keyStrokes,
			final boolean allowIncomplete, final KeyStroke[][] deletedKeyStrokes) {
		
		Point selection = text.getSelection();
		int start = selection.x;
		int end = selection.y;
		/*
		 * Using the key sequence format method, discover the point at which
		 * adding key strokes passes or equals the start of the selection. In
		 * other words, find the first stroke that is part of the selection.
		 * Keep track of the text range under which the stroke appears (i.e.,
		 * startTextIndex->string.length() is the first selected stroke).
		 */
		String string = new String();
		List currentStrokes = new ArrayList();
		int startTextIndex = 0; 
		final int keyStrokesLength = keyStrokes.length;
		int i;
		for (i = 0; (i < keyStrokesLength) && (string.length() < start); i++) {
			startTextIndex = string.length();
			currentStrokes.add(keyStrokes[i]);
			string = KeySequence.getInstance(currentStrokes).format();
		}
		/*
		 * If string.length() == start, then the cursor is positioned between
		 * strokes (i.e., selection is outside of a stroke).
		 */
		int startStrokeIndex;
		if (string.length() == start) {
			startStrokeIndex = currentStrokes.size();