public AggregationAgentForgePlugin(
     AggregationForgeFactoryAccessPlugin parent,
     AggregationMultiFunctionAgentModeManaged mode,
     ExprForge optionalFilter)
 {
     this.parent = parent;
     this.mode = mode;
     this.optionalFilter = optionalFilter;
 }
 public override AggregationAgentForge GetAggregationStateAgent(
     ImportService importService,
     string statementName)
 {
     AggregationMultiFunctionAgentMode agentMode = handler.AgentMode;
     if (agentMode is AggregationMultiFunctionAgentModeManaged) {
         AggregationMultiFunctionAgentModeManaged managed = (AggregationMultiFunctionAgentModeManaged) agentMode;
         return new AggregationAgentForgePlugin(
             this,
             managed,
             parent.OptionalFilter == null ? null : parent.OptionalFilter.Forge);
     }
     else {
         throw new IllegalStateException("Unrecognized accessor mode " + agentMode);
     }
 }