/// <summary>
        /// Read the next line in the Excel file.
        /// </summary>
        /// <returns></returns>
        internal ExcelLine ReadNextLine()
        {
            if (emptyLineReached)
            {
                return(null);
            }
            ExcelLine line = null;

            lock (managerLock)
            {
                lastReturnedLine++;
                line = new ExcelLine
                {
                    LineNumber = lastReturnedLine,
                    Content    = ReadLine(lastReturnedLine)
                };
                if (line.Content == null)
                {
                    emptyLineReached = true;
                }
            }

            return(emptyLineReached
                    ? null : line.Content != null
                        ? line : null);
        }
 /// <summary>
 /// Write the bot status in its column in Excel.
 /// </summary>
 /// <param name="line"></param>
 internal void WriteBotStatus(ExcelLine line)
 {
     lock (managerLock)
     {
         ws.Cells[line.LineNumber, (int)ExcelLineContent.Columns.botStatus] = line.Content.BotStatus;
     }
 }