@Override
    public Uri create(@NonNull final Folder folder, @NonNull final String name) throws IOException {
        try {
            return createInternal(folder, name, false);
        } catch (IllegalArgumentException iae) {
            //This can happen if the folder uri is illegal, e.g. because the folder was deleted outside c:geo in the meantime and our cache is outdated.
            //-> cleanup cache and try again
            try {
                return createInternal(folder, name, true);
            } catch (IllegalArgumentException iae2) {
                Log.w("Problem creating document '" + name + "' in folder '" + folder + "'", iae2);
                return null;
            }
        }
    }
LRU-cache for previously retrieved directory Uri's for Folders
main/src/main/java/cgeo/geocaching/storage/DocumentContentAccessor.java