Everybody knows no one reads documentation. Hamcrest found an original way to warn users to use the org.hamcrest.BaseMatcher
class instead of the org.hamcrest.Matcher
interface.
Look at the interface yourself.
They added a dummy deprecated method called _dont_implement_Matcher___instead_extend_BaseMatcher_
in the interface.
I am still unsure whether I will ever use this in my own projects. But when this method appeared in my code today I could not help but look at it. It was then totally clear that I was not doing what they wanted me to do. I’ve seldom seen documentation that obvious.