/// <summary>
        /// Open file and get new reader.
        /// </summary>
        /// <returns></returns>
        /// <exception cref="FileNotFoundException">if ThrowIfNotFound and not found</exception>
        public override IEnumerator GetEnumerator()
        {
            ILineTree tree = LineReaderExtensions.ReadLineTree(FileFormat, FilePath, LineFormat, ThrowIfNotFound);

            ILineTree[] trees = tree == null ? no_trees : new ILineTree[] { tree };
            return(((IEnumerable <ILineTree>)trees).GetEnumerator());
        }
        /// <summary>
        /// Open file and get new reader.
        /// </summary>
        /// <returns></returns>
        /// <exception cref="FileNotFoundException">if ThrowIfNotFound and not found</exception>
        public override IEnumerator GetEnumerator()
        {
            IEnumerable <KeyValuePair <string, IString> > lines = LineReaderExtensions.ReadStringLines(FileFormat, FilePath, LineFormat, ThrowIfNotFound).ToArray();

            return(lines.GetEnumerator());
        }
        /// <summary>
        /// Open file and get new reader.
        /// </summary>
        /// <returns></returns>
        /// <exception cref="FileNotFoundException">if ThrowIfNotFound and not found</exception>
        public override IEnumerator GetEnumerator()
        {
            IEnumerable lines = LineReaderExtensions.ReadLines(FileFormat, FilePath, LineFormat, ThrowIfNotFound).ToArray();

            return(lines.GetEnumerator());
        }
        /// <summary>
        /// Open file and get new reader.
        /// </summary>
        /// <returns></returns>
        /// <exception cref="FileNotFoundException">if ThrowIfNotFound and not found</exception>
        IEnumerator <ILine> IEnumerable <ILine> .GetEnumerator()
        {
            IEnumerable <ILine> lines = LineReaderExtensions.ReadLines(FileFormat, FilePath, LineFormat, ThrowIfNotFound).ToArray();

            return(lines.GetEnumerator());
        }