private void StartBlock() { if (!string.IsNullOrEmpty(_beforeBlock)) { // If there's something to write before block, it's safe to assume that this should be on it's own line, right? // e.g. if the writer is in a dirty state (current line didn't end with a linebreak), it doesn't make sense to start a "if" statement which would open a new IndentedBlockScope _writer.EnsureEmptyLine(); _writer.InnerWrite(_beforeBlock); } // By definition an indented block cannot start on a dirty line _writer.EnsureEmptyLine(); _writer.InnerIncreaseIndent(); }