protected static DataSectionParameter BuildParameterDataSection(List <string> section)
        {
            var thisSection = new DataSectionParameter();
            var title       = section[0].Trim();

            thisSection.Title = title;
            foreach (var line2 in section)
            {
                var line = line2.Trim();
                if (line.StartsWith("#") || line.StartsWith("~"))
                {
                    continue;
                }
                var parameterDataLine = BuildParameterDataLine(line);
                thisSection.Push(parameterDataLine);
            }
            return(thisSection);
        }
        protected static LogData BuildData(DataSectionParameter curveInfo, DataSectionParameter parameters, List <string> ascii)
        {
            var data = new LogData
            {
                logDefinition = curveInfo,
                logParameters = parameters
            };
            var colsRead = 0;
            var numCols  = data.ColumnLen();
            var record   = new string[numCols];

            ascii.RemoveAt(0);
            foreach (var line2 in ascii)
            {
                if (colsRead == numCols)
                {
                    record   = new string[numCols];
                    colsRead = 0;
                }
                var line  = line2.Trim();
                var array = line.Split(' ', '+');
                foreach (var value in array)
                {
                    if (colsRead >= numCols)
                    {
                        continue; //throw new Exception("Could not parse data: column number does not match.");
                    }
                    record[colsRead] = value;
                    colsRead        += 1;
                }
                if (colsRead == numCols)
                {
                    data.logRecords.Add(record);
                }
            }
            return(data);
        }