Pattern matching in Java was derived from the syntax of the switch and instanceof statements in order to leverage the familiarity that programmers have with those constructs. As pattern matching has become more powerful in recent Java versions, that familiarity is colliding with the new needs of the pattern matching syntax and semantics. In this article, also published at Java Advent, I present six puzzlers and six principles to help you understand the latest pattern matching features.