@Override
    public InputStream getInputStream() throws IOException {
        URLConnection con = this.url.openConnection();
        customizeConnection(con);
        try {
            return con.getInputStream();
        } catch (IOException ex) {
            // Close the HTTP connection (if applicable).
            if (con instanceof HttpURLConnection) {
                ((HttpURLConnection) con).disconnect();
            }
            throw ex;
        }
    }
This implementation opens an InputStream for the given URL.
<p>It sets the {@code useCaches} flag to {@code false},
mainly to avoid jar file locking on Windows.

see java.net.URL#openConnection()
see java.net.URLConnection#setUseCaches(boolean)
see java.net.URLConnection#getInputStream()
analyzer/src/main/java/nl/basjes/parse/useragent/utils/springframework/core/io/UrlResource.java