class AbstractCommentProcessor
        extends AbstractProcessor implements ICommentProcessor {



    public AbstractCommentProcessor(final TemplateMode templateMode, final int precedence) {
        super(templateMode, precedence);
    }


    public final void process(
            final ITemplateContext context,
            final IComment comment, final ICommentStructureHandler structureHandler) {<FILL_FUNCTION_BODY>}


    protected abstract void doProcess(
            final ITemplateContext context,
            final IComment comment, final ICommentStructureHandler structureHandler);


}


        try {

            doProcess(context, comment, structureHandler);

        } catch (final TemplateProcessingException e) {
            if (comment.hasLocation()) {
                if (!e.hasTemplateName()) {
                    e.setTemplateName(comment.getTemplateName());
                }
                if (!e.hasLineAndCol()) {
                    e.setLineAndCol(comment.getLine(), comment.getCol());
                }
            }
            throw e;
        } catch (final Exception e) {
            throw new TemplateProcessingException(
                    "Error during execution of processor '" + this.getClass().getName() + "'",
                    comment.getTemplateName(), comment.getLine(), comment.getCol(), e);
        }

    
<methods>public void <init>(org.thymeleaf.templatemode.TemplateMode, int) ,public final int getPrecedence() ,public final org.thymeleaf.templatemode.TemplateMode getTemplateMode() <variables>private final non-sealed int precedence,private final non-sealed org.thymeleaf.templatemode.TemplateMode templateMode