code: public void pushVariableScope(VariableScope el) {
          pushState();
          scope = el;
          superBlockNamedLabels = new HashMap(superBlockNamedLabels);
          superBlockNamedLabels.putAll(currentBlockNamedLabels);
          currentBlockNamedLabels = new HashMap();
      }
docs: Causes the state-stack to add an element and sets
  the given scope as new current variable scope. Creates
  a element for the state stack so pop has to be called later