Interface implemented by aggregation plugins that need a second pass, typically "Percentage of total"
public interface IAggregationTwoPassPlugin : IAggregationPlugin, IPlugin
As opposed to normal aggregators, where detail lines get a snapshot of the aggregated value when they are born, two-aggregators need to implement a real cloning method - otherwise they will not survive in the detail rows, where they need to do the pass-2 calculations.
Create a clone suitable for the detail level
Called on the detail level, with a reference to the same column, but the instance of the aggregator that is in the nearest parent level.
void SetOutsideValue(IAggregationTwoPassPlugin parentInstance)
To implement a percentage of total, the normal AddItem should store its individual items. The detail level will then be able to access the sum of items, by calling (private) methods on its parent-level instance, and compute its own percentage item afterwards.