Transactions can be aborted either by an applet or by the Java Card RE.
Note - The contents of an array component that is updated using the Util.arrayCopyNonAtomic method or the Util.arrayFillNonAtomic method while a transaction is in progress are not predictable following the abortion of the transaction.