question: public static URI appendQuery ( final URI uri , final Form query ) { Reject . ifNull ( uri ) ; if ( query == null || query . isEmpty ( ) ) { return uri ; } if ( uri . getRawQuery ( ) != null ) { query . fromQueryString ( uri . getRawQuery ( ) ) ; } try { return create ( uri . getScheme ( ) , uri . getRawUserInfo ( ) , uri . getHost ( ) , uri . getPort ( ) , uri . getRawPath ( ) , query . toQueryString ( ) , uri . getRawFragment ( ) ) ; } catch ( final URISyntaxException e ) { throw new IllegalStateException ( e ) ; } }
target:  Returns a new URI with the given query parameters appended to the original ones, if any. The scheme, authority, path, and fragment remain unchanged.