I see you've closed my issue, before I could comment, so let me do it here. Whilst your solution certainly looks elegant on face value I do have a problem with it. You're trying to cast to a new class (URL) and if it fails it throws a MalformedURLException. The problem I have with this is the fact that when you through the Exception you don't know where it comes from (unless you investigate the stack trace). With my solution I merely strip the scheme:// and leave the validation to HttpGet. This means that if there is indeed a problem with the original URL it will be thrown by the HTTP client (in this case Apache HTTP Client) which in my opinion is a better place for it. It makes errors handling easier to interpret in a runtime situation.
Perhaps that is just my view, but happy to see what the maintainers decide to do with it
Thanks for your input, though!