public FixedLengthRecordWriter(TextWriter writer, FixedLengthSchema schema, FixedLengthOptions options)
 {
     this.writer = writer;
     Metadata    = new FixedLengthRecordContext()
     {
         ExecutionContext = new FixedLengthExecutionContext()
         {
             Schema  = schema,
             Options = options.Clone()
         }
     };
 }
 private FixedLengthReader(TextReader reader, FixedLengthSchema schema, FixedLengthOptions options = null, bool hasSchema = true)
 {
     if (reader == null)
     {
         throw new ArgumentNullException(nameof(reader));
     }
     if (hasSchema && schema == null)
     {
         throw new ArgumentNullException(nameof(schema));
     }
     if (options == null)
     {
         options = new FixedLengthOptions();
     }
     parser   = new FixedLengthRecordParser(reader, schema, options);
     metadata = new FixedLengthRecordContext()
     {
         ExecutionContext = new FixedLengthExecutionContext()
         {
             Schema  = schema,
             Options = options.Clone()
         }
     };
 }