URISyntaxException is an abomination. Catch it and throw an IllegalArgumentException?