Bug 131692 [Contributions] ContributionManager.insertAfter throws unhelpful IllegalArgumentException
look at insertBefore and you see this line throw new IllegalArgumentException("can't find ID " + ID);//$NON-NLS-1$ but in insertAfter it looks like this throw new IllegalArgumentException("can't find ID");//$NON-NLS-1$ NOTE: in the second example it doesn't tell you what the ID is. My "patch" is to make insertAfter behave like insertBefore
bundles/org.eclipse.jface/src/org/eclipse/jface/action/ContributionManager.java
protected int indexOf(IContributionItem item) {
        return contributions.indexOf(item);
    }
    /**
     * Insert the item at the given index.
     * 
     * @param index The index to be used for insertion
     * @param item The item to be inserted
     */
    public void insert(int index, IContributionItem item) {
        if (index > contributions.size()) {
			throw new IndexOutOfBoundsException(
                    "inserting " + item.getId() + " at " + index); 
		}
        if (allowItem(item)) {
            contributions.add(index, item);
            itemAdded(item);
        }
    }
    /* (non-Javadoc)
     * Method declared on IContributionManager.
     */
    public void insertAfter(String ID, IAction action) {
        insertAfter(ID, new ActionContributionItem(action));
    }
    /* (non-Javadoc)
     * Method declared on IContributionManager.
     */
    public void insertAfter(String ID, IContributionItem item) {
        IContributionItem ci = find(ID);