class ConstantFlowRegulator implements ServiceWrapper {

    public <T> T invoke(Callable<T> c) throws Exception {
        if (canProceed()) {
            return c.call();
        }
        else {
            throw mapException(new FlowRateExceededException());
        }
    }

    public  ConstantFlowRegulator();
    public  ConstantFlowRegulator(int requestsPerSecond);
    public  ConstantFlowRegulator(int requestsPerSecond,
                                 ConstantFlowRegulatorExceptionMapper<? extends Exception> mapper);

}