Bug 113276 ModelProvider patch to support logical models
Here is a patch that includes the capability to support the batching of resource mappings by model provider. We need this so we can obtain, using the adaptable mechanism, model related funtionality for performing operations on a set of resource mappings that all originate from the same model.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/CompositeResourceMapping.java
return modelObject;
    }
    /* (non-Javadoc)
     * @see org.eclipse.core.internal.resources.mapping.ResourceMapping#getProjects()
     */
    public IProject[] getProjects() {
        return projects;
    }
    
    /* (non-Javadoc)
     * @see org.eclipse.core.internal.resources.mapping.ResourceMapping#getTraversals(org.eclipse.core.internal.resources.mapping.ResourceMappingContext, org.eclipse.core.runtime.IProgressMonitor)
     */
    public ResourceTraversal[] getTraversals(ResourceMappingContext context,
            IProgressMonitor monitor) throws CoreException {
        if (monitor == null)
            monitor = new NullProgressMonitor();
        try {
            monitor.beginTask(null, 100 * mappings.length);
            List result = new ArrayList();
            for (int i = 0; i < mappings.length; i++) {
                ResourceMapping mapping = mappings[i];
                result.addAll(Arrays.asList(mapping.getTraversals(context, new SubProgressMonitor(monitor, 100))));
            }
            return (ResourceTraversal[]) result.toArray(new ResourceTraversal[result.size()]);
        } finally {
            monitor.done();
        }
    }
}