class XATransactionalStore extends AbstractStore {

    public Element removeElement(Element element) throws NullPointerException {
        TransactionContext context = getOrCreateTransactionContext();
        Element previous = getCurrentElement(element.getKey(), context);

        if (previous != null && previous.getValue().equals(element.getValue())) {
            context.addCommand(new StoreRemoveElementCommand(element), element);
            return previous;
        }
        return null;
    }

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

}