if ((body.value == NOT_LOADED_VALUE) && (body.version <= txNumber)) { int newerVersion = Transaction.findVersionFor(obj, attr, txNumber); if (newerVersion <= txNumber) { VBoxBody<E> body = new SingleVersionBoxBody(value, txNumber); this.body = body; } else { invalidate(newerVersion);
if (this.body == null) {  VBoxBody<E> body = makeNewBody(); body.version = 0; body.value = value; this.body = body; } else {  VBoxBody<E> body = this.body.getBody(txNumber); if (body.value == NOT_LOADED_VALUE) { body.value = value;
    protected synchronized void persistentLoad(Object obj, String attr, E value) {	int txNumber = Transaction.current().getNumber();	if ((body.value == NOT_LOADED_VALUE) && (body.version <= txNumber)) {	    int newerVersion = Transaction.findVersionFor(obj, attr, txNumber);	    if (newerVersion <= txNumber) {		VBoxBody<E> body = new SingleVersionBoxBody(value, txNumber);		this.body = body;	    } else {		invalidate(newerVersion);	    }	}    }