public void SourceDisconnected(IEEGDataSource source)
{
if (this.source == null)
this.source = source;
else if (this.source != source)
throw new Exception("Listener connected to multiple sources!");
if (this.onSourceDisconnected != null)
this.invoker.BeginInvoke(() => this.onSourceDisconnected(source));
}