deleteEmptyCus(mapping);
ICompilationUnit[] notDeleted= deleteEmptyCus(mapping); for (int i= 0; i < notDeleted.length; i++) { IFile file= (IFile)notDeleted[i].getUnderlyingResource(); deleteAll(mapping, file); }
	static void perform(ISourceReference[] elements) throws CoreException {		ISourceReference[] childrenRemoved= SourceReferenceUtil.removeAllWithParentsSelected(elements);		Map mapping= SourceReferenceUtil.groupByFile(childrenRemoved); //IFile -> List of ISourceReference (elements from that file)		for (Iterator iter= mapping.keySet().iterator(); iter.hasNext();) {			IFile file= (IFile)iter.next();			List l= (List)mapping.get(file);			ISourceReference[] refs= (ISourceReference[]) l.toArray(new ISourceReference[l.size()]);			delete(file, refs);		}		deleteEmptyCus(mapping);	}