Buggy code:
public class MultiPageEditor extends MultiPageEditorPart implements IEditingDomainProvider , IMenuListener , ISelectionProvider { protected AdapterFactoryEditingDomain editingDomain ; protected PropertySheetPage propertySheetPage ; protected ISelection editorSelection = StructuredSelection . EMPTY ; protected ComposedAdapterFactory adapterFactory ; protected ViewerPane currentViewerPane ; protected Viewer currentViewer ; protected TreeViewer groupViewer ; protected TreeViewer viewPointViewer ; protected ISelectionChangedListener selectionChangedListener ; protected Collection < ISelectionChangedListener > selectionChangedListeners = new ArrayList < ISelectionChangedListener > ( ) ; protected MarkerHelper markerHelper = new EditUIMarkerHelper ( ) ; protected Map < Resource , Diagnostic > resourceToDiagnosticMap = new LinkedHashMap < Resource , Diagnostic > ( ) ; protected boolean updateProblemIndication = true ; protected Collection < Resource > removedResources = new ArrayList < Resource > ( ) ; protected Collection < Resource > changedResources = new ArrayList < Resource > ( ) ; private Composite mainComposite = null ; NodeModelContentProvider nodeModelContentProvider ; protected Collection < Resource > savedResources = new ArrayList < Resource > ( ) ; protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener ( ) { public void resourceChanged ( IResourceChangeEvent event ) { } } ; protected IPartListener partListener = new IPartListener ( ) { public void partActivated ( IWorkbenchPart p ) { } public void partBroughtToTop ( IWorkbenchPart p ) { } public void partClosed ( IWorkbenchPart p ) { } public void partDeactivated ( IWorkbenchPart p ) { } public void partOpened ( IWorkbenchPart p ) { } } ; protected EContentAdapter problemIndicationAdapter = new EContentAdapter ( ) { @ Override public void notifyChanged ( Notification notification ) { } @ Override protected void setTarget ( Resource target ) { } @ Override protected void unsetTarget ( Resource target ) { } } ; private org . feature . cluster . model . editor . editors . ViewPointContentProvider ViewPointContentProvider ; private ZestView zestView ; private Button refresh ; private String mappingResourcePath ; private static Logger log = Logger . getLogger ( MultiPageEditor . class ) ; public MultiPageEditor ( ) { } protected void initializeEditingDomain ( ) { } public IPropertySheetPage getPropertySheetPage ( ) { } protected void handleActivate ( ) { } protected void handleChangedResources ( ) { } @ Override public boolean isDirty ( ) { } protected boolean handleDirtyConflict ( ) { } public void setSelectionToViewer ( Collection < ? > collection ) { } void createViewPointView ( ) { } @ SuppressWarnings ( "rawtypes" ) @ Override public Object getAdapter ( Class key ) { } private String [ ] getViewPoints ( ) { } public void setSelectedViewPoint ( String viewPointName ) { } public void setViewPoint ( ViewPoint viewPoint ) { } void createClusterView ( ) { } private void fillToolBar ( ) { } private static String getString ( String key , Object s1 ) { } public Diagnostic analyzeResourceProblems ( Resource resource , Exception exception ) { } public void createModel ( ) { } protected void createPages ( ) { } private void createGroupView ( ) { } protected void createContextMenuFor ( StructuredViewer viewer ) { } public void setCurrentViewerPane ( ViewerPane viewerPane ) { } public void setCurrentViewer ( Viewer viewer ) { } public void dispose ( ) { } @ Override public void doSave ( IProgressMonitor progressMonitor ) { } protected boolean isPersisted ( Resource resource ) { } @ Override public void doSaveAs ( ) { } protected void doSaveAs ( URI uri , IEditorInput editorInput ) { } public void gotoMarker ( IMarker marker ) { } public void init ( IEditorSite site , IEditorInput editorInput ) throws PartInitException { } public boolean isSaveAsAllowed ( ) { } public void setStatusLineManager ( ISelection selection ) { } protected void updateProblemIndication ( ) { } protected void showTabs ( ) { } private static String getString ( String key ) { } public EditingDomain getEditingDomain ( ) { } public void setSelection ( ISelection selection ) { } public void menuAboutToShow ( IMenuManager menuManager ) { } public IActionBars getActionBars ( ) { } public EditingDomainActionBarContributor getActionBarContributor ( ) { } public void addSelectionChangedListener ( ISelectionChangedListener listener ) { } public ISelection getSelection ( ) { } public void removeSelectionChangedListener ( ISelectionChangedListener listener ) { } private long mappingTimeStamp = - 1 ; private URI mappingURI ; private Resource mappingResource ; public void setFeatureMapping ( String mapping ) { if ( ( mapping == null ) || ( mapping . isEmpty ( ) ) ) { return ; } if ( ( ( mappingResourcePath ) == null ) && ( mapping != null ) ) { refresh . setEnabled ( true ) ; } mappingResourcePath = mapping ; ResourceSet rst = getEditingDomain ( ) . getResourceSet ( ) ; EcoreUtil . resolveAll ( rst ) ; <START_BUG> URI uri = URI . createFileURI ( mapping ) ; <END_BUG> mappingResource = rst . getResource ( uri , true ) ; long timeStamp = mappingResource . getTimeStamp ( ) ; if ( ( mappingTimeStamp ) == ( - 1 ) ) { mappingURI = uri ; mappingTimeStamp = timeStamp ; zestView . init ( mappingResource ) ; } else if ( ( uri . equals ( mappingURI ) ) && ( ( mappingTimeStamp ) == timeStamp ) ) { return ; } mappingURI = uri ; mappingTimeStamp = timeStamp ; zestView . init ( mappingResource ) ; } public void highlightNodes ( List < Node > nodesForHighlighting ) { } public void clearHighlighting ( ) { } public void createFilteredFeatureModel ( ViewPoint viewPoint ) { } public Resource getMappingResource ( ) { } public String getMappingResourcePath ( ) { } }

Fix:
URI uri = URI . createURI ( mapping ) ;