code: public V getVar(String name) {
      ImplicitVar implicit = name != null ? ImplicitVar.of(name) : null;
      if (implicit != null) {
        return getImplicitVar(implicit, true);
      }
      S scope = thisScope();
      while (scope != null) {
        V var = scope.getOwnSlot(name);
        if (var != null) {
          return var;
        }
        // Recurse up the parent Scope
        scope = scope.getParent();
      }
      return null;
    }
docs: Non-final for jsdev tests