private synchronized void delete() throws IOException { try { lock(); } catch (IOException e) {  release();  throw e;
public static boolean delete(File deleteFile) { int[] generations = getFileGenerations(deleteFile); if (generations == null) return false; String name = deleteFile.getName(); File parent = new File(deleteFile.getParent()); synchronized (cacheFiles) { for (int idx = 0; idx < generations.length; idx++) {  if (generations[idx] == 0) continue; File file = new File(parent, name + '.' + generations[idx]); if (file.exists()) { file.delete(); } cacheFiles.remove(file); }
	private synchronized void delete() throws IOException {		try {			lock();		} catch (IOException e) {			/* the lock request failed; decrement the use count */			release();			throw e;		}		try {			rm(oldFile);			rm(orgFile);			rm(newFile);			rm(tmpFile);		} finally {			unlock();			release();		}	}