}//end Request AllControls

        //
        //
        //
        //
        #endregion//Constructors


        #region Properties
        // *****************************************************************
        // ****                     Properties                          ****
        // *****************************************************************
        //
        #endregion//Properties


        #region Public Methods
        // *****************************************************************
        // ****                     Public Methods                      ****
        // *****************************************************************
        //
        //
        public new SyntheticOrder Copy()
        {
            SyntheticOrder newArgs = new SyntheticOrder();

            this.CopyTo(newArgs);
            return(newArgs);
        }
 //
 //
 //
 protected void CopyTo(SyntheticOrder newArg)
 {
     base.CopyTo(newArg);
     if (newArg is SyntheticOrder)
     {
         SyntheticOrder newTradeArg = (SyntheticOrder)newArg;
         newTradeArg.OrderId     = this.OrderId;
         newTradeArg.TradeSide   = this.TradeSide;
         newTradeArg.TargetPrice = this.TargetPrice;
         newTradeArg.TargetQty   = this.TargetQty;
     }
 }// CopyTo()
        //
        //
        // *****************************************
        // ****         RequestNewTrade         ****
        // *****************************************
        public static SyntheticOrder RequestNewTrade(string executionHubName, int strategyId, int tradeId)
        {
            SyntheticOrder e = new SyntheticOrder();

            e.EngineHubName     = executionHubName;
            e.EngineContainerID = strategyId;
            // e.EngineId = -1;                 // always -1 for trade objects.
            e.OrderId = tradeId;
            e.MsgType = EngineEventArgs.EventType.SyntheticOrder;
            e.Status  = EngineEventArgs.EventStatus.Request;
            return(e);
        }//end Request AllControls