public static IList <DocumentForParsing> Merge(List <DocumentReceiveLog> documents)
        {
            DocumentReceiveLog headerFile = null;
            DocumentReceiveLog bodyFile   = null;

            try {
                var resultList = new List <DocumentForParsing>();
                for (var i = 0; i < documents.Count; i++)
                {
                    headerFile = null;
                    bodyFile   = null;
                    var file = documents[i];
                    if (IsHeaderFile(file))
                    {
                        headerFile = file;
                        bodyFile   = GetSecondFile(headerFile, documents);
                    }
                    if (IsBodyFile(file))
                    {
                        bodyFile   = file;
                        headerFile = GetSecondFile(bodyFile, documents);
                    }
                    if ((headerFile != null) && (bodyFile != null))
                    {
                        var mergedFile = MergeFiles(headerFile, bodyFile);
                        resultList.Add(new DocumentForParsing(file, mergedFile));
                        documents.Remove(headerFile);
                        documents.Remove(bodyFile);
                        i--;
                    }
                    else
                    {
                        resultList.Add(new DocumentForParsing(file));
                    }
                }
                return(resultList);
            }
            catch (Exception e) {
                var log = LogManager.GetLogger(typeof(MultifileDocument));
                log.Error("Ошибка при слиянии многофайловых накладных", e);
                if (headerFile != null)
                {
                    WaybillService.SaveWaybill(headerFile.GetFileName());
                }
                if (bodyFile != null)
                {
                    WaybillService.SaveWaybill(bodyFile.GetFileName());
                }
                return(documents.Select(d => new DocumentForParsing(d)).ToList());
            }
        }