public override void StopTracking()
        {
            base.StopTracking();

            this.currentOperation            = null;
            this.currentAtomicOperationScope = null;
        }
        private void EndOperation()
        {
            if (this.currentOperation != null && this.currentOperation.OperationCount > 0)
            {
                this.AddOperation(this.currentOperation);
            }

            this.currentOperation = null;
        }
        private void StartOperation(string name)
        {
            if (this.currentOperation != null)
            {
                this.EndOperation();
            }

            this.currentOperation = new ComplexOperation(name);
        }
        private void StartOperation( string name )
        {
            if (this.currentOperation != null)
            {
                this.EndOperation();
            }

            this.currentOperation = new ComplexOperation(name);
        }
        private void EndOperation()
        {
            if (this.currentOperation != null && this.currentOperation.OperationCount > 0)
            {
                this.AddOperation(this.currentOperation);
            }

            this.currentOperation = null;
        }
        public override void StopTracking()
        {
            base.StopTracking();

            this.currentOperation = null;
            this.currentAtomicOperationScope = null;
        }