private static TouchstoneReader Create(TextReader reader, TouchstoneReaderSettings settings)
 {
     if (reader == null)
     {
         throw new ArgumentNullException(nameof(reader));
     }
     return(new TouchstoneReader(reader, settings));
 }
        private TouchstoneReader(TextReader reader, TouchstoneReaderSettings settings)
        {
            this.settings = settings ?? new TouchstoneReaderSettings();
            this.reader   = reader;
            Options       = new TouchstoneOptions();
            Keywords      = new TouchstoneKeywords();

            coreReader = TouchstoneReaderCore.Create(this);
        }
        // Private for now since settings don't do anything
        private static TouchstoneReader Create(string filePath, TouchstoneReaderSettings settings)
        {
            if (string.IsNullOrEmpty(filePath))
            {
                throw new ArgumentNullException(nameof(filePath));
            }
            if (!File.Exists(filePath))
            {
                throw new FileNotFoundException("File not found", filePath);
            }
            StreamReader reader = new StreamReader(filePath);

            return(new TouchstoneReader(reader, settings));
        }