internal DateTimeFormatInfo(StreamReader s, string calendarName)
 {
     char[] comma = new char[] { ',' };
     this.abbreviatedDayNames           = s.ReadLine().Split(comma);
     this.abbreviatedMonthGenitiveNames = s.ReadLine().Split(comma);
     this.abbreviatedMonthNames         = s.ReadLine().Split(comma);
     this.amDesignator        = s.ReadLine();
     this.calendarWeekRule    = (CalendarWeekRule)int.Parse(s.ReadLine());
     this.dateSeparator       = s.ReadLine();
     this.dayNames            = s.ReadLine().Split(comma);
     this.firstDayOfWeek      = (DayOfWeek)int.Parse(s.ReadLine());
     this.fullDateTimePattern = s.ReadLine();
     this.longDatePattern     = s.ReadLine();
     this.longTimePattern     = s.ReadLine();
     this.monthDayPattern     = s.ReadLine();
     this.monthGenitiveNames  = s.ReadLine().Split(comma);
     this.monthNames          = s.ReadLine().Split(comma);
     this.nativeCalendarName  = s.ReadLine();
     s.ReadLine();                                         // TODO: Appears to be a mistake in the culture files. Extra line added.
     this.pmDesignator                     = s.ReadLine();
     this.rfc1123Pattern                   = s.ReadLine(); // This is always the same, so does it need to be in the culture file?
     this.shortDatePattern                 = s.ReadLine();
     this.shortestDayNames                 = s.ReadLine().Split(comma);
     this.shortTimePattern                 = s.ReadLine();
     this.sortableDateTimePattern          = s.ReadLine();    // This is always the same
     this.timeSeparator                    = s.ReadLine();
     this.universalSortableDateTimePattern = s.ReadLine();    // This is always the same
     this.yearMonthPattern                 = s.ReadLine();
     this.calendar = Calendar.CreateByName(calendarName);
 }