/// Reduces the sub-scopes, so that the selected sub-scope contains all selected leaves (1) and (2)
/// and the remaining sub-scope contains the sub-scopes of the bottom-most remaining scope (3).
///
/// scope scope
/// / \ / \
/// R S(1) => R S
/// / \ \ /|\ /|\
/// R(3) S(2) C ABCDEF CDEF
/// /|\ /|\
/// ABCDEF DEF
///
///
[Item("RightChildReducer", "Merges all sub-scopes generated by successively selecting sub-scopes of the remaining part.")]
[StorableType("D1857728-A661-46BE-AA08-CDF830DD81A8")]
public class RightChildReducer : Reducer, IReducer {
[StorableConstructor]
protected RightChildReducer(StorableConstructorFlag _) : base(_) { }
protected RightChildReducer(RightChildReducer original, Cloner cloner) : base(original, cloner) { }
public override IDeepCloneable Clone(Cloner cloner) {
return new RightChildReducer(this, cloner);
}
public RightChildReducer() : base() { }
///