public override void Close()
        {
            VerifyResult(_cco.Close());

            _cco.DirectIOEvent       -= (_IOPOSToneIndicatorEvents_DirectIOEventEventHandler)_cco_DirectIOEvent;
            _cco.ErrorEvent          -= (_IOPOSToneIndicatorEvents_ErrorEventEventHandler)_cco_ErrorEvent;
            _cco.OutputCompleteEvent -= (_IOPOSToneIndicatorEvents_OutputCompleteEventEventHandler)_cco_OutputCompleteEvent;
            _cco.StatusUpdateEvent   -= (_IOPOSToneIndicatorEvents_StatusUpdateEventEventHandler)_cco_StatusUpdateEvent;
            _cco = null;
        }