code: function writeAndCloseOpenState(isClosed) {
      var isShouldClose = true;
  
      if (state.tag) {
          var isRoot = isRootNode();
  
          if (isHelperTag(state.tag)) { // helper case
              helperOpen(state.tag, state.attributes);
              isShouldClose = isClosed;
          } else if (isTagBinded(state.tag)) {
              binderOpen(state.tag, state.attributes);
              isShouldClose = isClosed;
          } else if (isClosed || _options.voidRequireTags.indexOf(state.tag) !== -1) { // void mode
              writeCommand(Command.elementVoid, state.tag, state.attributes, isRoot);
              nestingLevelInfo.level--;
              isShouldClose = false;
          } else if (state.tag !== _options.evaluate.name) { // standard mode
              writeCommand(Command.elementOpen, state.tag, state.attributes, isRoot);
          } // if we write code, do nothing
  
          nestingLevelInfo.level++;
      }
  
      // clear builder state for next tag
      state.tag = null;
      state.attributes = {};
  
      return isShouldClose; // should we close this tag: no if we have void element
  }
docs: TODO: Clarify logic. Seems like this method only opens state but named as 'CloseOpenState' also seems like `isClosed` flags used only to detect elementVoid and it's a bit confusing because sounds like it can be used to detect tags open or close state.