Details
Description
If one first accessed e.g. a wooden button as a `Switch` to get its `Switch.Face` (`Switch#getFace`), it starts throwing a `ClassCastException` if you want to access it as a `FaceAttachable` for its `FaceAttachable.AttachedFace` (`FaceAttachable#getAttachedFace`).
The issue is with `CraftBlockData#toBukkit` caching "incorrect" types into its `classMappings` map, as `BlockStateEnum` called `"face"` can be mapped to both `Switch.Face` and `FaceAttachable.AttachedFace`. The `BlockStateEnum` is found in `CraftSwitch` and `CraftFaceAttachable`.