Fourth answer says
Should I implicitly assume that this answer references to BMT and that's why it is incorrect?A bean can call this method only if it has started the transaction.
As of spec 4.7.2 (for stateless session beans but it is the same for other types)
it looks like it is correct answer and it could be incorrect in case I mentioned earlier.The getRollbackOnly and setRollbackOnly methods of the SessionContext interface should be used only in the session bean methods that execute in the context of a transaction. The container must throw the java.lang.IllegalStateException if the methods are invoked while the instance is not associated with a transaction.
Thanks,
Jarek