public Uri create(final Folder folder, final FileNameCreator nameCreator, final boolean onlyIfNotExisting) {
        if (folder == null) {
            return null;
        }

        final String name = (nameCreator == null ? FileNameCreator.DEFAULT : nameCreator).createName();
        if (onlyIfNotExisting) {
            final FileInformation fi = getFileInfo(folder, name);
            if (fi != null) {
                return fi.uri;
            }
        }

        try {
            return getAccessorFor(folder.getBaseType()).create(folder, name);
        } catch (IOException ioe) {
            reportProblem(R.string.contentstorage_err_create_failed, ioe, false, name, folder);
        }
        return null;
    }
Creates a new file in a folder location and returns its Uri
main/src/main/java/cgeo/geocaching/storage/ContentStorage.java