Object objectKey = getObjectKey();
SoftLock softLock = softLockFactory.createSoftLock(transactionId, objectKey, newElement, oldElement);
softLockedElement = createElement(objectKey, softLock);
softLock.lock();
softLock.freeze();
if (oldElement == null) {
Element previousElement = store.putIfAbsent(softLockedElement);
if (previousElement != null) {
softLock.unfreeze();