The variable is "reused" as you say. Stack / local variables are just what is local to the method and NOT a scope. The area in which your variable is located dataonly keeps it from being visible outside this scope and, conversely, does NOT define a different stack slot.
, .