public synchronized void deleteDrawFile() {
		if (useable.get() == false) {
			return;
		}
		// checkUseable();
		final int count = useCounter.addAndGet(-1);
		if (count == 0) {
			if (cached && isCacheTooBig() == false) {
				return;
			}
			synchronized (toDelete) {
				deleteNow();
				if (cached) {
					final boolean removedCache = cache.values().remove(this);
					if (removedCache == false) {
						Log.error("Not found in cache " + this);
					}
				}
				final boolean removedToDelete = toDelete.remove(this);
				if (removedToDelete == false) {
					Log.error("Not found in delete list " + this);
				}
			}
		}
	}