A thread I noticed only after posting suggests that it prevents HIDING the static method, and calls out the subtle distinction between saying:
"A subclass can NOT override a static method of a superclass" <-- true
"A subclass does not inherit static methods from superclasses" <-- commonly said but not strictly true
We can see it is not true that it isn't inherited, because it turns out that any static method (at least any public or protected static method) in the base class can actually be referenced without the Classname.methodName(), i.e. just as methodName(). Just because I've gone like my whole life without doing that, didn't mean it wasn't legal. Phooey.
RTFJD (the JavaDocs are your friends!) If you haven't read them in a long time, then RRTFJD (they might have changed!)
Why did you say a static method isn't inherited by its subclass? They are inherited just as non‑private instance methods might be.
Bad case of belt'n'braces, I am afraid. That looks like an escape from the Collections class, which I referred to earlier today. Collections is a utility class, and that doesn't have any accessible constructors. So it is impossible for us to create subtypes of. I don't know of any subtypes in its own package, if it has a package‑private constructor. Your example has two utility classes but with default constructors, so subtyping is, in theory, possible.
So yes, the final modifier is there to prevent any subtypes hiding/redefining that method, but there aren't any such subtypes.
Yes, you might want a static method which cannot be redefined in a subtype. The solution to that problem is always to call static members on their class name.