if (areAllFilesReadOnly(mapping)){ String title= "Delete"; String label= "Cannot delete. All selected elements are defined in read-only files."; MessageDialog.openInformation(JavaPlugin.getActiveWorkbenchShell(), title, label); return; }
	protected void perform() throws CoreException {		if (!confirmDelete())			return;		Map mapping= SourceReferenceUtil.groupByFile(getElementsToProcess()); //IFile -> List of ISourceReference (elements from that file)						List emptyCuList= Arrays.asList(getCusLeftEmpty(mapping));				for (Iterator iter= mapping.keySet().iterator(); iter.hasNext();) {			IFile file= (IFile)iter.next();			if (emptyCuList.contains(JavaCore.create(file))) //do not delete in these files				continue;			if (isReadOnly(file))				continue;			deleteAll(mapping, file);		}				ICompilationUnit[] notDeleted= deleteEmptyCus(mapping);		for (int i= 0; i < notDeleted.length; i++) {			IFile file= (IFile)notDeleted[i].getUnderlyingResource();			if (isReadOnly(file))				continue;			deleteAll(mapping, file);		}	}