according to code and semantics, it should be like this i think.