/// <summary>
        /// Initializes a new <see cref="SQLiteDataReader"/>.
        /// </summary>
        /// <exception cref="CriticalFileReadException">Thrown when failed to fetch stochastic soil models from the database.</exception>
        private void InitializeReaders()
        {
            CreateDataReader();
            MoveNext();

            segmentPointReader = new SegmentPointReader(Path);
            segmentPointReader.Initialize();
        }
        protected override void Dispose(bool disposing)
        {
            if (dataReader != null)
            {
                dataReader.Close();
                dataReader.Dispose();
                dataReader = null;
            }

            if (segmentPointReader != null)
            {
                segmentPointReader.Dispose();
                segmentPointReader = null;
            }

            base.Dispose(disposing);
        }