class XATransactionalStore extends AbstractStore {

    public boolean replace(Element old, Element element, ElementValueComparator comparator)
            throws NullPointerException, IllegalArgumentException {
        TransactionContext context = getOrCreateTransactionContext();
        Element previous = getCurrentElement(element.getKey(), context);

        boolean replaced = false;
        if (previous != null && previous.getValue().equals(old.getValue())) {
            context.addCommand(new StoreReplaceElementCommand(old, element, comparator), element);
            replaced = true;
        }
        return replaced;
    }

    public  XATransactionalStore(Ehcache cache, EhcacheXAStore ehcacheXAStore,
                                TransactionManagerLookup transactionManagerLookup, TransactionManager txnManager);

}