package com.digiarea.closure.model.visitor; import java.util.List; import com.digiarea.closure.model.Node; public class VoidPipeline<C> implements Runnable { private Node node = null; private List<VoidVisitor<C>> visitors = null; private C context = null; public VoidPipeline() { super(); } public VoidPipeline(Node node, List<VoidVisitor<C>> visitors, C context) { super(); this.node = node; this.visitors = visitors; this.context = context; } @Override public void run() { try { for (VoidVisitor<C> visitor : visitors) { node.accept(visitor, context); } } catch (final Exception e) { throw new Error(e.getMessage()); } } }