I think what Mathias meant is that we leave the behavior as it is implemented here which makes your point 2.1 untrue. After using `withScheme("https")` an URI that had a default port before will also use the default port corresponding to the new scheme.

So, the test case tests this sentence which Mathias proposed:
`If the Uri has the default port for the scheme before the change it will have the default port for the *new* scheme after the change.`

We should add another test case for the other sentence.