} else if (o instanceof CallMarker) {
if (scope instanceof Trap.TrapScope) { // handles return component of a read trap
Trap.TrapScope ts = (Trap.TrapScope)scope;
- if (retval != null) ts.cascadeHappened = true;
+ if (retval != null && retval instanceof Boolean && ((Boolean)retval).booleanValue())
+ ts.cascadeHappened = true;
if (!ts.cascadeHappened) {
ts.cascadeHappened = true;
Trap t = ts.t.next;