IndentedCodeRecognizer
Recognizes content indented by at least four columns.
Blank lines belong to the block when another code line follows them. When the block ends, it takes the terminator of its last code line plus the blank run that follows, and that run accepts spaces and newlines only, never tabs.