Well you can't know how many bars are left in a series at the start of the series. Plus, when you get a new bar, there's no way to know if it's the last one or not. So really you need to have the pivot bars change every time you get a new bar in. This means that you are going to have a series where the previously calculated values change when a new bar comes in. You should override the OldValuesChange property in your indicator and return true to indicate that this is the case.
Then you need to actually change the values every time a new bar comes in. You could recalculate the whole series on each bar and access the _values field of the base class to store your data. This is O(n^2) however, so it's not a very good solution.
A better solution would be to implement the IIndicator interface yourself instead of relying on the IndicatorBase class. You would create a number of "Pivot Calculators" equal to the number of periods, but they would be out of synch with each other as far as which bars were used as pivot points. Then in the indexer (LookBack method in RightEdge 1.2), you would return the value from the calculator that had a pivot point on the last bar.