URI has a number of volatile fields that should be reconsidered. Either:
- each accessor should avoid re-reading volatile fields on fast-path
- if creating more than one String of each field is benign, consider making the fields non-volatile
- each accessor should avoid re-reading volatile fields on fast-path
- if creating more than one String of each field is benign, consider making the fields non-volatile