java.net.URI rozwiązuje tylko łańcuch zapytania

Próbuję zbudować URI używając JDKjava.net.URI.
Chcę dołączyć do bezwzględnego obiektu URI, zapytania (w String). W przykładzie:

URI base = new URI("http://example.com/something/more/long");
String queryString = "query=http://local:282/rand&action=aaaa";
URI query = new URI(null, null, null, queryString, null);
URI result = base.resolve(query);

Teoria (lub co myślę) jest taka, że ​​postanowienie powinno powrócić:

http://example.com/something/more/long?query=http://local:282/rand&action=aaaa

Ale mam to:

 http://example.com/something/more/?query=http://local:282/rand&action=aaaa

Czemu#rozwiązać() „zjada” ostatnią ścieżkę? Jeśli nowy URI (query) jest zbudowany jako:

URI query = new URI(null, null, base.getPath(), queryString, null);

To dobrze działa.