The problem with this assertion is that it is not clear at first glance which method call/new class is supposed to throw the expected Runtime Exception. Even if I can guess that
Collections.emptyList() is not throwing any Exception and that it should be the class creation, I had to manually check
emptyList() code to be 100% sure about it.
That’s exactly the spirit of the rule: we want to avoid guesses and manual verifications in tests.
That being said, I understand your concern, there are indeed situations where it could seem superfluous. If you strongly believe the code is fine as it is, you can mark it as “Won’t fix”.
Hope it clarifies the situation.