Are there any resources that you would recommend as reference or guides for writing a checkstyle linter from scratch?