if(node.getFor() != null && whenForExp.get(node) == null)
{
Double expireTime = ((DoubleValue) node.getFor().apply(expEval)).value
+ ((DoubleValue) new ASystemTimeSingleExp().apply(expEval)).value;
whenForExp.put(node, new ABinaryExp(new ASystemTimeSingleExp(), new ALessThanBinop(), new ANumericalSingleExp(expireTime)));
}
if((node.getFor() == null) || (whenForExp.get(node) != null && !checkWhenFor(node)))
{
for (PStm stm : node.getThen())