I'm not sure this is the right approach. All the other events are fired in order as the AST is traversed but these are in a separate loop, which may be confusing. If comments emit events, then I think they must appear in correct order relative to the rest of the code.