Source:
<code>public static NotLoadingResourceSet create(final StorageTraversal traversals, IProgressMonitor monitor, ResourceSetHookRegistry resourceSetHookRegistry) { SubMonitor progress = SubMonitor.convert(monitor, 100); progress.subTask(EMFCompareIDEMessages.getString("NotLoadingResourceSet.monitor.resolve")); final NotLoadingResourceSet resourceSet = new NotLoadingResourceSet(); final Set<? extends IStorage> storages = traversals.getStorages(); resourceSet.setStorageTraversal(traversals); resourceSet.setURIResourceMap(new HashMap<URI, Resource>(storages.size() << 1)); <START> final Collection<URI> urisToLoad = unmodifiableCollection(newArrayList(transform(storages, TO_URI))); <END> final Collection<IResourceSetHook> hooks = getMatchingHooks(resourceSetHookRegistry, urisToLoad); for (IResourceSetHook hook : hooks) { hook.preLoadingHook(resourceSet, urisToLoad); } final int loadWorkPercentage = 60; SubMonitor subMonitor = progress.newChild(loadWorkPercentage).setWorkRemaining( traversals.getStorages().size()); for (URI uri : urisToLoad) { if (monitor.isCanceled()) { throw new OperationCanceledException(); } resourceSet.unprotectedGetResource(uri, true); subMonitor.worked(1); } for (IResourceSetHook hook : hooks) { hook.postLoadingHook(resourceSet, urisToLoad); } resourceSet.setStorageTraversal(null); final int resolveWorkPercentage = 40; subMonitor = progress.newChild(resolveWorkPercentage).setWorkRemaining( resourceSet.getResources().size()); List<Resource> resourcesCopy = newArrayList(resourceSet.getResources()); for (Resource res : resourcesCopy) { if (monitor.isCanceled()) { throw new OperationCanceledException(); } resourceSet.resolve(res); subMonitor.worked(1); } return resourceSet; }</code><technical_language>change double "unmodifiable(newList(...))" in "ImmutableList.copyOf(...)"</technical_language>

Target:
public static NotLoadingResourceSet create(final StorageTraversal traversals, IProgressMonitor monitor, ResourceSetHookRegistry resourceSetHookRegistry) { SubMonitor progress = SubMonitor.convert(monitor, 100); progress.subTask(EMFCompareIDEMessages.getString("NotLoadingResourceSet.monitor.resolve")); final NotLoadingResourceSet resourceSet = new NotLoadingResourceSet(traversals); final Set<? extends IStorage> storages = traversals.getStorages(); resourceSet.setURIResourceMap(new HashMap<URI, Resource>(storages.size() << 1)); final Collection<URI> urisToLoad = ImmutableList.copyOf(transform(storages, TO_URI)); final Collection<IResourceSetHook> hooks = getMatchingHooks(resourceSetHookRegistry, urisToLoad); for (IResourceSetHook hook : hooks) { hook.preLoadingHook(resourceSet, urisToLoad); } final int loadWorkPercentage = 60; SubMonitor subMonitor = progress.newChild(loadWorkPercentage).setWorkRemaining( traversals.getStorages().size()); for (URI uri : urisToLoad) { if (monitor.isCanceled()) { throw new OperationCanceledException(); } resourceSet.loadResource(uri); subMonitor.worked(1); } for (IResourceSetHook hook : hooks) { hook.postLoadingHook(resourceSet, urisToLoad); } final int resolveWorkPercentage = 40; subMonitor = progress.newChild(resolveWorkPercentage).setWorkRemaining( resourceSet.getResources().size()); List<Resource> resourcesCopy = newArrayList(resourceSet.getResources()); for (Resource res : resourcesCopy) { if (monitor.isCanceled()) { throw new OperationCanceledException(); } resourceSet.resolve(res); subMonitor.worked(1); } return resourceSet; }