/// <summary>
 /// Custom constructor using a FileFormat
 /// </summary>
 /// <param name="fileFormat"></param>
 public RecordFormatMap(FileFormat fileFormat)
 {
     foreach (var recordFormat in fileFormat.RecordFormats)
     {
         _regexDictionary[new Regex(string.Format(Pattern, recordFormat.DiscriminatorPattern))] = recordFormat;
         _idDictionary[recordFormat.DiscriminatorPattern] = recordFormat;
     }
 }
 /// <summary>
 ///  Constructs an EbcdicReader.
 /// </summary>
 /// <param name="inputStream">the stream to read the data from</param>
 /// <param name="fileFormat">the copybook to use for decoding records</param>
 /// <param name="hasRdw">true if records have a record descriptor word (RDW)</param>
 public EbcdicReader(BufferedStream inputStream, FileFormat fileFormat, bool hasRdw)
 {
     _stream = inputStream;
     _fileFormat = fileFormat;
     _decoder = new EbcdicDecoder(fileFormat.Charset);
     _recordFormatMap = new RecordFormatMap(fileFormat);
     _hasRdw = hasRdw;
 }