The JAX-RS 1.1 spec says:
When choosing an exception mapping provider to map an exception, an implementation MUST use the provider whose generic type is the nearest superclass of the exception.
In 2.7.0, this was working per the spec. In 2.7.8 (likely starting with 2.7.6, but not tested), the FIRST ExceptionMapper provider is returned when there is no exact match. This usually results in a ClassCastException.
In the attached test, a NullPointerException should map to the registered ExceptionMapper<RuntimeException> provider, but it does not.