/// 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.")]
[StorableClass]
public class RightChildReducer : Reducer, IReducer {
[StorableConstructor]
protected RightChildReducer(bool deserializing) : base(deserializing) { }
protected RightChildReducer(RightChildReducer original, Cloner cloner) : base(original, cloner) { }
public override IDeepCloneable Clone(Cloner cloner) {
return new RightChildReducer(this, cloner);
}
public RightChildReducer() : base() { }
///