code: boolean matchStandaloneElement(
              final boolean blockMatching,
              final int markupLevel, final int markupBlockIndex, final SelectorElementBuffer elementBuffer) {
  
          checkMarkupLevel(markupLevel);
  
          if (this.markupSelectorItem.anyLevel() || markupLevel == 0 || (this.prev != null && this.prev.matchedMarkupLevels[markupLevel - 1])) {
              // This element has not matched yet, but might match, so we should check
  
              this.matchesThisLevel = this.markupSelectorItem.matchesElement(markupBlockIndex, elementBuffer, this.markupBlockMatchingCounter);
  
              if (matchesPreviousOrCurrentLevel(markupLevel)) {
                  // This filter was already matched by a previous level (through an "open" event), so just delegate to next.
  
                  if (this.next != null) {
                      return this.next.matchStandaloneElement(blockMatching, markupLevel, markupBlockIndex, elementBuffer);
                  }
                  return (blockMatching? true : this.matchesThisLevel);
  
              } else if (this.matchesThisLevel) {
                  // This filter was not matched before. So the fact that it matches now means we need to consume it,
                  // therefore not delegating.
  
                  return (this.next == null);
  
              }
  
          } else if (matchesPreviousOrCurrentLevel(markupLevel)) {
              // This filter was already matched by a previous level (through an "open" event), so just delegate to next.
  
              if (this.next != null) {
                  return this.next.matchStandaloneElement(blockMatching, markupLevel, markupBlockIndex, elementBuffer);
              }
              return blockMatching;
  
          }
  
          return false;
  
      }
docs: /*
  ----------------
  Element handling
  ----------------