void OnUploadComplete()
        {
            _session = SlickUploadContext.CurrentUploadSession;

            if (_session != null && UploadComplete != null && (string.IsNullOrEmpty(_session.SourceUploadConnectorId) || ClientID == _session.SourceUploadConnectorId))
            {
                string key = "kw_HasOnCompleteFired" + _session.UploadSessionId;
                bool   hasOnCompleteFired = Context.Items[key] is bool?(bool)Context.Items[key] : false;

                if (!hasOnCompleteFired)
                {
                    Context.Items[key] = true;

                    UploadComplete(this, new UploadSessionEventArgs(_session));

                    ComponentHelper.EnsureParentUpdatePanelUpdated(this);
                }
            }
        }