public boolean deleteToNonEmptyParent() { for (DesktopEntryFile localDesktopEntryFile = this; (null != localDesktopEntryFile) && (localDesktopEntryFile.exists()) && (!localDesktopEntryFile.getURI().matches(".*://")) && (localDesktopEntryFile.delete()); localDesktopEntryFile = localDesktopEntryFile.getParentDesktopEntryFile()) Trace.println("file deleted " + localDesktopEntryFile.toString(), TraceLevel.BASIC); return true; }