@Override public void run() { if (!MessageDialog.openConfirm( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), getText(), "Are you sure you want to delete?")) { return; } for (SimpleUserNode node : viewer.getSelectedTreeNodes()) { SimpleUserNode project = node.getAncestorOfType(ServoyProject.class); if (project == null) { continue; } Pair<Solution, String> pair = (Pair<Solution, String>) node.getRealObject(); String scopeName = pair.getRight(); WorkspaceFileAccess wsfa = new WorkspaceFileAccess( ((IProjectNature) project.getRealObject()).getProject().getWorkspace()); String scriptPath = SolutionSerializer.getRelativePath( ((((ServoyProject) project.getRealObject()).getSolution())), false) + scopeName + SolutionSerializer.JS_FILE_EXTENSION; try { wsfa.delete(scriptPath); } catch (IOException e) { ServoyLog.logError( "Could not delete scope '" + scopeName + "' from project '" + project.getName() + "'", e); } } }