HistoryItem4MdxQuery(HistoryItem4MdxQuery old)
 {
     ColumnsActionChain = old.ColumnsActionChain.Clone();
     RowsActionChain    = old.RowsActionChain.Clone();
     RotateAxes         = old.RotateAxes;
     //ConcretizeMdxObject=old.ConcretizeMdxObject;
 }
        internal void SortByValue(int axisIndex, PerformMemberActionArgs args)
        {
            AxisInfo ai = (axisIndex == 0) ^ RotateAxes
                         ? RowsActionChain
                         : ColumnsActionChain;

            ai.SortByValue(args);
        }
        public void AddMemberAction(int axisIndex, MemberAction Action)
        {
            AxisInfo ai = (axisIndex == 0) ^ RotateAxes
                         ? ColumnsActionChain
                         : RowsActionChain;

            ai.AddMemberAction(Action);
        }
        AxisInfo(AxisInfo old)
        {
            HideEmpty = old.HideEmpty;
            if (old.MeasuresSort != null)
            {
                MeasuresSort = old.MeasuresSort.Clone();
            }

            foreach (var cont in old.Actions)
            {
                Actions.Add(cont.Clone());
            }
        }
        //public Func<MdxObject, MdxActionContext, MdxObject> ConcretizeMdxObject = null;

        public HistoryItem4MdxQuery()
        {
            ColumnsActionChain = new AxisInfo();
            RowsActionChain    = new AxisInfo();
        }