These two function calls execute the MSEARCH-test and the NOTIFY-test sequentially. "Validate_NOTIFY" assumes that "this.Cache" is greater than zero. However this is not the case if the device failed to respond to the MSEARCH-request addressed to its UUID. The DeviceValidator will then call "M.WaitOne(Cache * 1000, false);" (line 264 of the same file) with a negative number for the first argument, because "this.Cache" was initially set "-1". There is no error message and no helpful entry in the log-file. The program just throws.
It is thus extremely frustrating to search for the error. A simple error-message that hints to the missing response to the MSEARCH-request would be helpful. :)