in doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSink.java [347:361]
private void endContext(ElementContext expectedContext) {
ElementContext removedContext = elementContextStack.remove();
if (removedContext != expectedContext) {
throw new IllegalStateException("Unexpected context " + removedContext + ", expected " + expectedContext);
}
if (removedContext.isBlock()) {
endBlock(removedContext.requiresSurroundingByBlankLines
|| (isInListItem() && (removedContext == ElementContext.BLOCKQUOTE)
|| (removedContext == ElementContext.CODE_BLOCK)));
}
if (removedContext.requiresBuffering) {
// remove buffer from stack (assume it has been evaluated already)
bufferStack.remove();
}
}