public void NextBuffer(IScanner scanner, short linesCount) { Logger.LogVerbose(Message.ScannerManagerNextBufferCall, linesCount); try { int blankMarker; if (!_recognitionManager.ProcessNextBuffer(linesCount, out blankMarker)) return; if (_blankMarker != blankMarker && IsDoubleSheetSensorWork) { _blankMarker = blankMarker; var density = GetBlankPaperDensity(blankMarker); short leftLevel; short rightLevel; scanner.GetDoubleSheetSensorLevel(out leftLevel, out rightLevel); leftLevel += density; rightLevel += density; scanner.SetDoubleSheetSensorCurrentSheetLevel(leftLevel, rightLevel); Logger.LogVerbose(Message.ScannerManagerDensitySet, blankMarker, density); } } catch (Exception ex) { Logger.LogError(Message.ScannerManagerNextBufferError, ex); } finally { Logger.LogVerbose(Message.ScannerManagerNextBufferCall, linesCount); } }