Can we change `UriBuilder` to not encode these paths until `build()`?  We keep tweaking this behavior, the last time in 12f29fd8a9e50203acc12ccf794cf73c0abf5703, and the fragility of this code gives me pause.