public JapaneseDateParserConfiguration(ICJKCommonDateTimeParserConfiguration config)
            : base(config)
        {
            IntegerExtractor = config.IntegerExtractor;
            OrdinalExtractor = config.OrdinalExtractor;

            NumberParser = config.NumberParser;

            DateExtractor     = config.DateExtractor;
            DurationExtractor = config.DurationExtractor;

            DateRegexList       = new JapaneseDateExtractorConfiguration(this).DateRegexList;
            SpecialDate         = JapaneseDateExtractorConfiguration.SpecialDate;
            NextRe              = JapaneseDateExtractorConfiguration.NextRe;
            LastRe              = JapaneseDateExtractorConfiguration.LastRe;
            SpecialDayRegex     = JapaneseDateExtractorConfiguration.SpecialDayRegex;
            StrictWeekDayRegex  = JapaneseDateExtractorConfiguration.WeekDayRegex;
            LunarRegex          = JapaneseDateExtractorConfiguration.LunarRegex;
            UnitRegex           = JapaneseDateExtractorConfiguration.UnitRegex;
            BeforeRegex         = JapaneseDateExtractorConfiguration.BeforeRegex;
            AfterRegex          = JapaneseDateExtractorConfiguration.AfterRegex;
            DynastyYearRegex    = JapaneseDateExtractorConfiguration.DynastyYearRegex;
            DynastyStartYear    = JapaneseDateExtractorConfiguration.DynastyStartYear;
            DynastyYearMap      = JapaneseDateExtractorConfiguration.DynastyYearMap;
            NextRegex           = JapaneseDateExtractorConfiguration.NextRegex;
            ThisRegex           = JapaneseDateExtractorConfiguration.ThisRegex;
            LastRegex           = JapaneseDateExtractorConfiguration.LastRegex;
            WeekDayOfMonthRegex = JapaneseDateExtractorConfiguration.WeekDayOfMonthRegex;

            CardinalMap = config.CardinalMap;
            UnitMap     = config.UnitMap;
            DayOfMonth  = config.DayOfMonth;
            DayOfWeek   = config.DayOfWeek;
            MonthOfYear = config.MonthOfYear;
        }
        public JapaneseDateTimeParserConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            DateExtractor = new JapaneseDateExtractorConfiguration();

            DateParser           = new JapaneseDateParserConfiguration(this);
            TimeParser           = new JapaneseTimeParserConfiguration(this);
            DateTimeParser       = new JapaneseDateTimeParser(this);
            DatePeriodParser     = new JapaneseDatePeriodParserConfiguration(this);
            TimePeriodParser     = new JapaneseTimePeriodParserConfiguration(this);
            DateTimePeriodParser = new JapaneseDateTimePeriodParserConfiguration(this);
            DurationParser       = new JapaneseDurationParserConfiguration(this);
            GetParser            = new JapaneseSetParserConfiguration(this);
            HolidayParser        = new JapaneseHolidayParserConfiguration(this);

            UnitMap        = DateTimeDefinitions.ParserConfigurationUnitMap.ToImmutableDictionary();
            UnitValueMap   = DateTimeDefinitions.ParserConfigurationUnitValueMap.ToImmutableDictionary();
            SeasonMap      = DateTimeDefinitions.ParserConfigurationSeasonMap.ToImmutableDictionary();
            SeasonValueMap = DateTimeDefinitions.ParserConfigurationSeasonValueMap.ToImmutableDictionary();
            CardinalMap    = DateTimeDefinitions.ParserConfigurationCardinalMap.ToImmutableDictionary();
            DayOfMonth     = DateTimeDefinitions.ParserConfigurationDayOfMonth.ToImmutableDictionary();
            DayOfWeek      = DateTimeDefinitions.ParserConfigurationDayOfWeek.ToImmutableDictionary();
            MonthOfYear    = DateTimeDefinitions.ParserConfigurationMonthOfYear.ToImmutableDictionary();

            Numbers = InitNumbers();

            DateRegexList       = JapaneseDateExtractorConfiguration.DateRegexList;
            NextRegex           = JapaneseDateExtractorConfiguration.NextRegex;
            ThisRegex           = JapaneseDateExtractorConfiguration.ThisRegex;
            LastRegex           = JapaneseDateExtractorConfiguration.LastRegex;
            YearRegex           = JapaneseDateExtractorConfiguration.YearRegex;
            RelativeRegex       = JapaneseDateExtractorConfiguration.RelativeRegex;
            StrictWeekDayRegex  = JapaneseDateExtractorConfiguration.WeekDayRegex;
            WeekDayOfMonthRegex = JapaneseDateExtractorConfiguration.WeekDayOfMonthRegex;
            BeforeRegex         = JapaneseMergedExtractorConfiguration.BeforeRegex;
            AfterRegex          = JapaneseMergedExtractorConfiguration.AfterRegex;
            UntilRegex          = JapaneseMergedExtractorConfiguration.UntilRegex;
            SincePrefixRegex    = JapaneseMergedExtractorConfiguration.SincePrefixRegex;
            SinceSuffixRegex    = JapaneseMergedExtractorConfiguration.SinceSuffixRegex;
            EqualRegex          = JapaneseMergedExtractorConfiguration.EqualRegex;
        }