/// <summary>
 /// Add a stackItem to the stack.
 /// </summary>
 /// <param name="stackObject"></param>
 public void Add(IStackItem stackItem)
 {
     if (!finishingExecution)
     {
         LIFOStack.Push(stackItem);
         stackItemCollection.Add(stackItem);
         manualResetEvent.Set();
     }
 }
 /// <summary>
 /// Erase all data in the stack.
 /// </summary>
 public void ClearStack()
 {
     LIFOStack.Clear();
     stackItemCollection.Clear();
 }