code: public <T> T invoke(Callable<T> c) throws Exception {
          if (canProceed()) {
              return c.call();
          }
          else {
              throw mapException(new FlowRateExceededException());
          }
      }
docs: Wrap the given service call with the {@link ConstantFlowRegulator}
  protection logic.
  @param c the {@link Callable} to attempt
  
  @return whatever c would return on success
  
  @throws FlowRateExceededException if the total requests per second
  through the flow regulator exceeds the configured value
  @throws Exception if <code>c</code> throws one during
  execution