To clarify, I meant...

Only add handlers for WS-AT or WS-BA (not both). If we detect use of the Compensations API, assume that an in-flowed WS-BA transaction is expected, even if JTA annotations are also used (The compensations API interoperates with JTA, so combining these annotations is expected). Otherwise, if only JTA annotations are present, assume that an in-flowed WS-AT transaction is expected. If none of these annotations are present, add no handlers.

Maybe just stick that in as a comment? Assuming you are happy with it, of course.