if (!this.contains(o))
{
DSetEntry entry = prepareEntry(o);
elements.add(entry);
// if we are in a transaction: get locks !
TransactionImpl tx = getTransaction();
if ((tx != null) && (tx.isOpen()))
{
RuntimeObject rt = new RuntimeObject(this, tx);
tx.lockAndRegister(rt, Transaction.WRITE, false);
tx.lock(o, Transaction.READ);
rt = new RuntimeObject(entry, tx, true);
tx.lockAndRegister(rt, Transaction.WRITE, false);
}
return true;
}
else
{