Not sure I follow the point of this (except for the static `newInstanceLocalhost()` method).
For overriding `getUrl(String)`, is that to avoid the bad `throw AssertionError(e)` in `MockWebServer`? If so, that's suitable justification.
Worth us submitting a pull request to MockWebServer for the small fixes of throwing sensible exceptions and allowing hostname to be set, I think.