static void Main(string[] args)
 {
     var sourceDirectory = DirectoryHelper.GetSourceDirectory();
     var csharpFiles = DirectoryHelper.GetCsFiles(sourceDirectory);
     var fileContents = new Program.CodeFileLogicalContents();
     foreach (var csharpFile in csharpFiles)
     {
         fileContents = ExtractContents(csharpFile);
     }
     
     WriteCombinedSubmissionFile(fileContents);
 }
        private static CodeFileLogicalContents ExtractContents(FileInfo fileInfo)
        {
            var fileContents = new Program.CodeFileLogicalContents();
            using (var file = fileInfo.Open(FileMode.Open))
            {
                using (var reader = new StreamReader(file))
                {
                    while (!reader.EndOfStream)
                    {
                        var readLine = reader.ReadLine();

                        if (readLine.StartsWith("using"))
                        {
                            fileContents.AddUsing(readLine);
                        }
                        else
                        {
                            fileContents.AddLineOfCode(readLine);
                        }
                    }
                }
            }
            return fileContents;
        }