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
*            The stroke to insert; should not be <code>null</code>.
	 * @param index
	 *            The index at which to insert; must be a valid index into the
	 *            list of key strokes.
	 */
	private final KeyStroke[] insertStrokeAt(final KeyStroke[] keyStrokes,
			KeyStroke stroke, int index) {
		final int keyStrokesLength = keyStrokes.length;
		final KeyStroke currentStroke = (index >= keyStrokesLength) ? null
				: keyStrokes[index];
		if ((currentStroke != null) && (!currentStroke.isComplete())) {
			int modifierKeys = currentStroke.getModifierKeys();
			final int naturalKey = stroke.getNaturalKey();
			modifierKeys |= stroke.getModifierKeys();
			keyStrokes[index] = KeyStroke.getInstance(modifierKeys, naturalKey);
			return keyStrokes;
		}
		final KeyStroke[] newKeyStrokes = new KeyStroke[keyStrokesLength + 1];
		System.arraycopy(keyStrokes, 0, newKeyStrokes, 0, index);
		newKeyStrokes[index] = stroke;
		if (index < keyStrokesLength) {
			System.arraycopy(keyStrokes, index, newKeyStrokes, index + 1,
					keyStrokesLength);
		}
		return newKeyStrokes;
	}
	/**
	 * Tests whether the cursor is in the last position. This means that the
	 * selection extends to the last position.
	 *