    001    package com.hammurapi.reasoning.impl;
    002
    003    import com.hammurapi.flow.Flow;
    004
    005    public interface RuleSetFlowOptimizer {
    006
    007            /**
    008             * Optimizes flow by removing unnecessary passthrough nodes and transitions and by
    009             * rearranging condition and accept nodes.
    010             * @param ruleSetFlow
    011             */
    012            void optimize(Flow ruleSetFlow);
    013
    014            /**
    015             * Allows to order optimizers. Optimizers with higher order are executed after optimizers with
    016             * lower order.
    017             * @return
    018             */
    019            int getOrder();
    020
    021    }