private ContentStorage.FileInformation getFileInfo(@NonNull final Uri uri, final Folder folder) throws IOException {
        try {
            return queryDoc(uri, FILE_INFO_COLUMNS, null,
                    c -> fileInfoFromCursor(c, uri, null, folder));
        } catch (IllegalArgumentException iae) {
            //this means that the uri does not exist or is not accessible. Return null
            Log.d("Exception trying to get file info for '" + uri + "' / '" + folder + "'", iae);
            return null;
        }
    }
retrieves a FileInformation object from the current cursor row retrieved by using {@link #queryDir(Uri, String[], Func1)} columns
main/src/main/java/cgeo/geocaching/storage/DocumentContentAccessor.java