docs: protected Boolean _hasSideEffects(XBasicForLoopExpression expression, ISideEffectContext context) {
  		context.open();
  		for (final XExpression ex : expression.getInitExpressions()) {
  			if (hasSideEffects(ex, context)) {
  				return true;
  			}
  		}
  		if (hasSideEffects(expression.getEachExpression(), context)) {
  			return true;
  		}
  		for (final XExpression ex : expression.getUpdateExpressions()) {
  			if (hasSideEffects(ex, context.branch())) {
  				return true;
  			}
  		}
  		if (hasSideEffects(expression.getExpression(), context.branch())) {
  			return true;
  		}
  		context.close();
  		return false;
  	}