setRequestUri is supposed to update the object returned by getUriInfo, not to make getUriInfo return a new object.
The javadoc for getUriInfo says:
The returned object contains "live" view of the request URI information in
a sense that any changes made to the request URI using one of the
setRequestUri(...) methods will be reflected in the previously
returned UriInfo instance.