public Optional<String> fetchFileIfNotModified(String url) throws IOException {
        return fetchFile(url, true);
    }
@Test
    public void unsuccessfulRetrieve() throws Exception {
        this.server.enqueue(new MockResponse()
                .setResponseCode(500)
                .setBody("Error!"));
        server.start();

        final HTTPFileRetriever httpFileRetriever = new HTTPFileRetriever(new OkHttpClient());

        expectedException.expect(IOException.class);
        expectedException.expectMessage("Request failed: Server Error");

        final Optional<String> ignored = httpFileRetriever.fetchFileIfNotModified(server.url("/").toString());
    }