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
} else {
			startStrokeIndex = currentStrokes.size() - 1;
		}
		/*
		 * Check to see if the cursor is only positioned, rather than actually
		 * selecting something. We only need to compute the end if there is a
		 * selection.
		 */
		int endStrokeIndex;
		if (start == end) {
			return startStrokeIndex;
		}
		for (; (i < keyStrokesLength) && (string.length() < end); i++) {
			currentStrokes.add(keyStrokes[i]);
			string = KeySequence.getInstance(currentStrokes).format();
		}
		endStrokeIndex = currentStrokes.size() - 1;
		if (endStrokeIndex < 0) {
			endStrokeIndex = 0;
		}
		/*
		 * Remove the strokes that are touched by the selection. Keep track of
		 * the first stroke removed.
		 */
		final int newLength = endStrokeIndex - startStrokeIndex + 1;
		deletedKeyStrokes[0] = new KeyStroke[newLength];
		final KeyStroke startStroke = keyStrokes[startStrokeIndex];
		System.arraycopy(keyStrokes, 0, keyStrokes, 0, newLength);
		/*
		 * Allow the first stroke removed to be replaced by an incomplete