`const mdp::ByteBuffer& content`  otherwise you will copy the whole buffer into a new instance! Alsoe please follow the (unwritten) convention of parameters order:

1. in
2. in/out
3. out

So in this case

```c++
 static void headersFromContent(const MarkdownNodeIterator& node, 
 								const mdp::ByteBuffer& content, 
 								SectionParserData& pd, 
 								Report& report, 
 								Headers& headers) {
```