public override void Start() { if(Interlocked.Exchange(ref _started, 1) == 1) { throw new Exception("SubringEdgeListener cannot be started twice."); } Interlocked.Exchange(ref _running, 1); }