In the XTS demo app, TaxiParticipantBA.compensate throws a SystemException. This is regarded by XTS as a potentially transitory problem and thus the compensate is retried at 30 second intervals. We should instead throw FaultedException, which indicated a permanent error.
Further, the javadoc for BusinessAgreementWithParticipantCompletionParticipant should be updated to clarify the behaviour of these exceptions and the circumstances in which each should be used.