public static boolean downloadFile(String libName, File libPath, String libURL, List<String> checksums)
    {
        try
        {
            System.out.println(libURL);
            URL url = new URL(libURL);
            URLConnection connection = url.openConnection();
            connection.setConnectTimeout(5000);
            connection.setReadTimeout(5000);
            InputSupplier<InputStream> urlSupplier = new URLISSupplier(connection);
            Files.copy(urlSupplier, libPath);
            if(checksumValid(libPath, checksums))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        catch(FileNotFoundException fnf)
        {
            if(!libURL.endsWith(PACK_NAME))
            {
                fnf.printStackTrace();
            }
            return false;
        }
        catch(Exception e)
        {
            e.printStackTrace();
            return false;
        }
    }