docs: public static String print(final String indent, JavaComment comment) {
          return comment.match(new JavaComment.MatchBlock<String>() {
  
              @Override
              public String _case(JavaDocComment x) {
                  final StringBuilder builder = new StringBuilder(indent);
                  builder.append(x.start);
                  for (JDToken token : x.generalSection) {
                      builder.append(print(indent, token));
                  }
                  for (JDTagSection tagSection : x.tagSections) {
                      for (JDToken token : tagSection.tokens) {
                          builder.append(print(indent, token));
                      }
                  }
                  
                  builder.append(x.end);
                  return builder.toString();
              }
  
              @Override
              public String _case(JavaBlockComment comment) {
                  final StringBuilder builder = new StringBuilder(indent);
                  for (List<BlockToken> line : comment.lines) {
                      for (BlockToken token : line) {
                          builder.append(token.match(new BlockToken.MatchBlock<String>() {
  
                              @Override
                              public String _case(BlockWord x) {
                                  return x.word;
                              }
  
                              @Override
                              public String _case(BlockWhiteSpace x) {
                                  return x.ws;
                              }
  
                              @Override
                              public String _case(BlockEOL x) {
                                  return x.content + indent;
                              }
                          }));
                      }
                  }
                  return builder.toString();
              }
  
              @Override
              public String _case(JavaEOLComment x) {
                  return x.comment;
              }
          });
      }