private void BeginScan() { if (_state != States.Idle && _state != States.ScanQueued) { throw new InvalidOperationException(); } TSLog.BeginBuffer(LogCategory.Compile); TSLog.Log(LogCategory.Trace, "BeginScan"); TypeSafeUtil.CheckForRemovedAssets(); _stopwatch.Reset(); _stopwatch.Start(); _scanController = new ScanController(); _scanController.Begin(); _state = States.Scanning; }