class ProcessorExecutionVars {

    final ElementProcessorIterator processorIterator;
    Model modelBefore = null;
    Model modelAfter = null;
    boolean modelAfterProcessable = false;
    boolean discardEvent = false;
    TemplateModelController.SkipBody skipBody = TemplateModelController.SkipBody.PROCESS;
    boolean skipCloseTag = false;


    ProcessorExecutionVars() {
        super();
        this.processorIterator = new ElementProcessorIterator();
    }


    ProcessorExecutionVars cloneVars() {<FILL_FUNCTION_BODY>}

}

        final ProcessorExecutionVars clone = new ProcessorExecutionVars();
        clone.processorIterator.resetAsCloneOf(this.processorIterator);
        if (this.modelBefore != null) {
            clone.modelBefore = (Model) this.modelBefore.cloneModel();
        }
        if (this.modelAfter != null) {
            clone.modelAfter = (Model) this.modelAfter.cloneModel();
        }
        clone.modelAfterProcessable = this.modelAfterProcessable;
        clone.discardEvent = this.discardEvent;
        clone.skipBody = this.skipBody;
        clone.skipCloseTag = this.skipCloseTag;
        return clone;
    
<no_super_class>