public static void SetReference <TData, TReferencePath, TMessage, TSg>(this ConverterConfigurator <TData, TReferencePath, SecondContractDocument <TMessage>, TSg, TSg> configurator,
                                                                        string codeQualifier,
                                                                        Expression <Func <TReferencePath, string> > pathToNumber)
     where TSg : IReferenceContainer
 {
     configurator.SetReference(x => codeQualifier, pathToNumber);
 }
 public static void SetReferenceWithDatesArray <TData, TReferencePath, TMessage, TSg>(this ConverterConfigurator <TData, TReferencePath, SecondContractDocument <TMessage>, TSg, TSg> configurator,
                                                                                      Expression <Func <TReferencePath, string> > pathToCodeQualifier,
                                                                                      Expression <Func <TReferencePath, string> > pathToNumber,
                                                                                      Expression <Func <TReferencePath, DateTime?> > pathToDate,
                                                                                      string dateTimePeriodFormatCode = "203")
     where TSg : IReferenceContainer, IDtmArrayContainer
 {
     configurator.SetReference(pathToCodeQualifier, pathToNumber);
     configurator.Target(sg1 => sg1.DateTimePeriod[0]).Set(pathToDate, dateTime => StaticDateTimePeriodConverter.ToDateTimePeriod(dateTime, "171", dateTimePeriodFormatCode));
 }