private boolean downloadOrRefreshCopy(@NonNull final String url, final File file) {
        final String absoluteURL = makeAbsoluteURL(url);

        if (absoluteURL != null) {
            try {
                final Response httpResponse = Network.getRequest(absoluteURL, null, file).blockingGet();
                if (httpResponse.isSuccessful()) {
                    FileUtils.saveEntityToFile(httpResponse, file);
                } else if (httpResponse.code() == 304) {
                    if (!file.setLastModified(System.currentTimeMillis())) {
                        makeFreshCopy(file);
                    }
                    return true;
                }
            } catch (final Exception e) {
                Log.w("Exception in HtmlImage.downloadOrRefreshCopy: " + e);
            }
        }
        return false;
    }
Download or refresh the copy of {@code url} in {@code file}.

@param url  the url of the document
@param file the file to save the document in
@return {@code true} if the existing file was up-to-date, {@code false} otherwise
main/src/main/java/cgeo/geocaching/network/HtmlImage.java