public override void Execute()
 {
     try
     {
         string     queueName   = InParameters["QueueName"].GetValueInString();
         TrackQueue queue       = (TrackQueue)ResourceManager.GetResource(queueName);
         int        queueLength = queue.Counts;
         OutParameters["QueueLength"].SetValue(queueLength);
     }
     catch (Exception)
     {
         throw;
     }
 }
        //string _itemID;

        public EnqueueAction(TrackQueue Queue) : base(Queue, "EnqueueAction")
        {
            // _name = "EnqueueAction";
            CreateParameters();
        }
 public ClearQueueAction(TrackQueue Queue)
     : base(Queue, "ClearQueueAction")
 {
     //  _name = "ClearQueueAction";
 }
 public GetQueueLengthAction(TrackQueue Queue)
     : base(Queue, "GetQueueLengthAction")
 {
     //_name = "GetQueueLengthAction";
     CreateParameters();
 }
 public CheckHeadAction(TrackQueue Queue)
     : base(Queue, "CheckHeadAction")
 {
     // _name = "CheckHeadAction";
     CreateParameters();
 }
 public QuerySecondAction(TrackQueue Queue)
     : base(Queue, "QuerySecondAction")
 {
     //  _name = "QuerySecondAction";
     CreateParameters();
 }
 public QueueAction(TrackQueue Queue, string name) : base(name)
 {
     _ownerQueue = Queue;
 }
        //string _itemID;

        public MultiDequeueAction(TrackQueue Queue)
            : base(Queue, "MultiDequeueAction")
        {
            // _name = "MultiDequeueAction";
            CreateParameters();
        }