public void Start() { if (_thread != null) throw new AegisException(AegisResult.AlreadyInitialized); _listener.Start(); _thread = new Thread(Run); _thread.Start(); }