Bug 112490 Patch to fix the mess I made
I have done bad things. I now prostrate myself and humbly ask that some gracious soul submit this patch (which I will attach forthwith) so that I may redeem myself. Basically, I (well really John but I made him do it) moved the ResourceMapping stuff to API but we missed a few things that needed to be done, causing great grief to the JDT team. Please spare the lashes as I have a low pain threshold.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/DefaultContributorResourceAdapter.java
IContributorResourceAdapter2 {
    private static IContributorResourceAdapter singleton;
    /**
     * Constructor for DefaultContributorResourceAdapter.
     */
    public DefaultContributorResourceAdapter() {
        super();
    }
    /**
     * Return the default instance used for TaskList adapting.
     * @return the default instance used for TaskList adapting
     */
    public static IContributorResourceAdapter getDefault() {
        if (singleton == null)
            singleton = new DefaultContributorResourceAdapter();
        return singleton;
    }
    /*
     * @see IContributorResourceAdapter#getAdaptedResource(IAdaptable)
     */
    public IResource getAdaptedResource(IAdaptable adaptable) {
        return (IResource) adaptable.getAdapter(IResource.class);
    }
    public ResourceMapping getAdaptedResourceMapping(IAdaptable adaptable) {
        return (ResourceMapping) adaptable.getAdapter(ResourceMapping.class);
    }
}