public static void LocalizeStatementsCsv(
            DirectoryInfo csvDir, IEnumerable <LocalizedElement> localizeStatements,
            Dictionary <FileInfo, Dictionary <int, int> > lindDic)    // Targeting only statement
        {
            var blElementList = new List <BLElement>();

            foreach (var localizeStatement in localizeStatements)
            {
                var elem = localizeStatement.Element;

                //Dictionaryを検索してKeyに対象ファイルが存在したらオリジナル行番号に変換
                //Dicに対象ファイルが存在するかしない場合はnullを返す。
                var fileInfo =
                    lindDic.Keys.FirstOrDefault(
                        info => info.FullName.EndsWith(elem.RelativePath));

                int startLine;
                int endLine;
                var fileName = new FileInfo(elem.RelativePath).Name;

                var orgLineNumFlag = true;
                if (fileInfo != null && fileInfo.Exists)
                {
                    //Dicに存在したとき

                    var nowStartLine = elem.Position.StartLine;
                    var nowEndLine   = elem.Position.EndLine;
                    var lineDicKey   = lindDic[fileInfo];

                    startLine = OrgLineNum(nowStartLine, lineDicKey);
                    endLine   = OrgLineNum(nowEndLine, lineDicKey);

                    if (startLine <= 0 || endLine <= 0)
                    {
                        //main用挿入コード時
                        orgLineNumFlag = false;
                    }
                }
                else
                {
                    startLine = elem.Position.StartLine;
                    endLine   = elem.Position.EndLine;
                }

                if (orgLineNumFlag)
                {
                    var blElement = new BLElement(fileName, startLine, endLine,
                                                  localizeStatement.Passed, localizeStatement.ExecutedAndPassed,
                                                  localizeStatement.Failed, localizeStatement.ExecutedAndFailed);
                    blElementList.Add(blElement);
                }
            }

            blElementList.Sort((ble1, ble2) => ble1.StartLine - ble2.StartLine);

            CsvWriter(csvDir, blElementList);
        }
        public static void LocalizeStatementsCsv(
                DirectoryInfo csvDir, IEnumerable<LocalizedElement> localizeStatements,
                Dictionary<FileInfo, Dictionary<int, int>> lindDic) { // Targeting only statement

            var blElementList = new List<BLElement>();

            foreach (var localizeStatement in localizeStatements) {
                var elem = localizeStatement.Element;

                //Dictionaryを検索してKeyに対象ファイルが存在したらオリジナル行番号に変換
                //Dicに対象ファイルが存在するかしない場合はnullを返す。
                var fileInfo =
                        lindDic.Keys.FirstOrDefault(
                                info => info.FullName.EndsWith(elem.RelativePath));

                int startLine;
                int endLine;
                var fileName = new FileInfo(elem.RelativePath).Name;

                var orgLineNumFlag = true;
                if (fileInfo != null && fileInfo.Exists) {
                    //Dicに存在したとき

                    var nowStartLine = elem.Position.StartLine;
                    var nowEndLine = elem.Position.EndLine;
                    var lineDicKey = lindDic[fileInfo];

                    startLine = OrgLineNum(nowStartLine, lineDicKey);
                    endLine = OrgLineNum(nowEndLine, lineDicKey);

                    if (startLine <= 0 || endLine <= 0) {
                        //main用挿入コード時
                        orgLineNumFlag = false;
                    }
                } else {
                    startLine = elem.Position.StartLine;
                    endLine = elem.Position.EndLine;
                }

                if (orgLineNumFlag) {
                    var blElement = new BLElement(fileName, startLine, endLine,
                            localizeStatement.Passed, localizeStatement.ExecutedAndPassed,
                            localizeStatement.Failed, localizeStatement.ExecutedAndFailed);
                    blElementList.Add(blElement);
                }
            }

            blElementList.Sort((ble1, ble2) => ble1.StartLine - ble2.StartLine);

            CsvWriter(csvDir, blElementList);
        }