Index: branches/2864_PermutationProblems/HeuristicLab.Problems.Instances.PFSP/3.3/FSSPTAILIBInstanceProvider.cs
===================================================================
--- branches/2864_PermutationProblems/HeuristicLab.Problems.Instances.PFSP/3.3/FSSPTAILIBInstanceProvider.cs	(revision 15541)
+++ branches/2864_PermutationProblems/HeuristicLab.Problems.Instances.PFSP/3.3/FSSPTAILIBInstanceProvider.cs	(revision 15639)
@@ -28,101 +28,88 @@
 using System.Text.RegularExpressions;
 
-namespace HeuristicLab.Problems.Instances.PFSP
-{
-    public class FSSPTAILIBInstanceProvider : ProblemInstanceProvider<FSSPData>
+namespace HeuristicLab.Problems.Instances.PFSP {
+  public class FSSPTAILIBInstanceProvider : ProblemInstanceProvider<FSSPData> {
+
+    public override string Name
     {
+      get { return "FSSPTAI"; }
+    }
 
-        public override string Name
-        {
-            get { return "FSSPTAI"; }
+    public override string Description
+    {
+      get { return "Permutation Flowshop Scheduling Problems (PFSP) as defined by Taillard."; }
+    }
+
+    public override Uri WebLink
+    {
+      get { return new Uri("http://mistic.heig-vd.ch/taillard/problemes.dir/ordonnancement.dir/ordonnancement.html"); }
+    }
+
+    public override string ReferencePublication
+    {
+      get { return String.Empty; }
+    }
+
+    public override IEnumerable<IDataDescriptor> GetDataDescriptors() {
+      var instanceArchiveName = GetResourceName("FSSPTAI.zip");
+      if (String.IsNullOrEmpty(instanceArchiveName)) yield break;
+
+      using (var instanceStream = new ZipArchive(GetType().Assembly.GetManifestResourceStream(instanceArchiveName), ZipArchiveMode.Read)) {
+        foreach (var entry in instanceStream.Entries.Select(x => x.Name).OrderBy(x => x)) {
+          yield return new FSSPTAILIBDataDescriptor(Path.GetFileNameWithoutExtension(entry), GetDescription(), entry, null);
         }
+      }
+    }
 
-        public override string Description
-        {
-            get { return "Permutation Flowshop Scheduling Problems (PFSP) as defined by Taillard."; }
+    public override FSSPData LoadData(IDataDescriptor id) {
+      var descriptor = (FSSPTAILIBDataDescriptor)id;
+      var instanceArchiveName = GetResourceName("FSSPTAI.zip");
+      using (var instancesZipFile = new ZipArchive(GetType().Assembly.GetManifestResourceStream(instanceArchiveName), ZipArchiveMode.Read)) {
+        var entry = instancesZipFile.GetEntry(descriptor.InstanceIdentifier);
+
+        using (var stream = entry.Open()) {
+          var parser = new FSSPTAILIBParser();
+          parser.Parse(stream);
+          return Load(parser);
         }
+      }
+    }
 
-        public override Uri WebLink
-        {
-            get { return new Uri("http://mistic.heig-vd.ch/taillard/problemes.dir/ordonnancement.dir/ordonnancement.html"); }
-        }
+    public override bool CanImportData
+    {
+      get { return true; }
+    }
+    public override FSSPData ImportData(string path) {
+      var parser = new FSSPTAILIBParser();
+      parser.Parse(path);
+      return Load(parser);
+    }
 
-        public override string ReferencePublication
-        {
-            get { return String.Empty; }
-        }
+    private FSSPData Load(FSSPTAILIBParser parser) {
+      var instance = new FSSPData {
+        Name = parser.Name,
+        Description = parser.Description,
+        Jobs = parser.Jobs,
+        Machines = parser.Machines,
+        ProcessingTimes = parser.ProcessingTimes,
+        BestKnownSchedule = parser.BestKnownSchedule,
+        BestKnownQuality = parser.BestKnownQuality
+      };
+      return instance;
+    }
 
-        public override IEnumerable<IDataDescriptor> GetDataDescriptors()
-        {
-            var instanceArchiveName = GetResourceName("FSSPTAI.zip");
-            if (String.IsNullOrEmpty(instanceArchiveName)) yield break;
+    public override bool CanExportData
+    {
+      get { return false; }
+    }
 
-            using (var instanceStream = new ZipArchive(GetType().Assembly.GetManifestResourceStream(instanceArchiveName), ZipArchiveMode.Read))
-            {
-                foreach (var entry in instanceStream.Entries.Select(x => x.Name).OrderBy(x => x))
-                {
-                    yield return new FSSPTAILIBDataDescriptor(Path.GetFileNameWithoutExtension(entry), GetDescription(), entry, null);
-                }
-            }
-        }
+    private string GetDescription() {
+      return "Embedded instance of plugin version " + Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyFileVersionAttribute), true).Cast<AssemblyFileVersionAttribute>().First().Version + ".";
+    }
 
-        public override FSSPData LoadData(IDataDescriptor id)
-        {
-            var descriptor = (FSSPTAILIBDataDescriptor)id;
-            var instanceArchiveName = GetResourceName("FSSPTAI.zip");
-            using (var instancesZipFile = new ZipArchive(GetType().Assembly.GetManifestResourceStream(instanceArchiveName), ZipArchiveMode.Read))
-            {
-                var entry = instancesZipFile.GetEntry(descriptor.InstanceIdentifier);
-
-                using (var stream = entry.Open())
-                {
-                    var parser = new FSSPTAILIBParser();
-                    parser.Parse(stream);
-                    return Load(parser);
-                }
-            }
-        }
-
-        public override bool CanImportData
-        {
-            get { return true; }
-        }
-        public override FSSPData ImportData(string path)
-        {
-            var parser = new FSSPTAILIBParser();
-            parser.Parse(path);
-            return Load(parser);
-        }
-
-        private FSSPData Load(FSSPTAILIBParser parser)
-        {
-            var instance = new FSSPData
-            {
-                Name = parser.Name,
-                Description = parser.Description,
-                Jobs = parser.Jobs,
-                Machines = parser.Machines,
-                ProcessingTimes = parser.ProcessingTimes,
-                BestKnownSchedule = parser.BestKnownSchedule,
-                BestKnownQuality = parser.BestKnownQuality
-            };
-            return instance;
-        }
-
-        public override bool CanExportData
-        {
-            get { return false; }
-        }
-        
-        private string GetDescription()
-        {
-            return "Embedded instance of plugin version " + Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyFileVersionAttribute), true).Cast<AssemblyFileVersionAttribute>().First().Version + ".";
-        }
-
-        protected virtual string GetResourceName(string fileName)
-        {
-            return Assembly.GetExecutingAssembly().GetManifestResourceNames()
-              .SingleOrDefault(x => Regex.Match(x, @".*\.Data\." + fileName).Success);
-        }
+    protected virtual string GetResourceName(string fileName) {
+      return Assembly.GetExecutingAssembly().GetManifestResourceNames()
+        .SingleOrDefault(x => Regex.Match(x, @".*\.Data\." + fileName).Success);
     }
+  }
 }
Index: branches/2864_PermutationProblems/HeuristicLab.Problems.Instances.PFSP/3.3/FSSPTAILIBParser.cs
===================================================================
--- branches/2864_PermutationProblems/HeuristicLab.Problems.Instances.PFSP/3.3/FSSPTAILIBParser.cs	(revision 15541)
+++ branches/2864_PermutationProblems/HeuristicLab.Problems.Instances.PFSP/3.3/FSSPTAILIBParser.cs	(revision 15639)
@@ -26,107 +26,90 @@
 using System.Text;
 
-namespace HeuristicLab.Problems.Instances.PFSP
-{
-    public class FSSPTAILIBParser
-    {
-        public string Name { get; set; }
-        public string Description { get; set; }
-        public int Jobs { get; set; }
-        public int Machines { get; set; }
-        public double[,] ProcessingTimes { get; set; }
+namespace HeuristicLab.Problems.Instances.PFSP {
+  public class FSSPTAILIBParser {
+    public string Name { get; set; }
+    public string Description { get; set; }
+    public int Jobs { get; set; }
+    public int Machines { get; set; }
+    public double[,] ProcessingTimes { get; set; }
 
-        public int[] BestKnownSchedule { get; set; }
-        public int BestKnownQuality { get; set; }
+    public int[] BestKnownSchedule { get; set; }
+    public int BestKnownQuality { get; set; }
 
-        public FSSPTAILIBParser()
-        {
-            Reset();
+    public FSSPTAILIBParser() {
+      Reset();
+    }
+
+    public void Reset() {
+      Name = Description = String.Empty;
+      Jobs = Machines = BestKnownQuality = 0;
+      ProcessingTimes = null;
+      BestKnownSchedule = null;
+    }
+
+    public void Parse(string file) {
+      using (Stream stream = new FileStream(file, FileMode.Open, FileAccess.Read)) {
+        Parse(stream);
+      }
+    }
+
+    public void Export(string file) {
+      using (Stream stream = new FileStream(file, FileMode.Create, FileAccess.Write)) {
+        Export(stream);
+      }
+    }
+
+    public void Parse(Stream stream) {
+      using (var reader = new StreamReader(stream, Encoding.UTF8, true, 4092, true)) {
+        Name = reader.ReadLine().Trim();
+        Description = reader.ReadLine().Trim();
+        var delim = new char[] { ' ', '\t' };
+
+        var info = reader.ReadLine().Split(delim, StringSplitOptions.RemoveEmptyEntries);
+        Jobs = int.Parse(info[0]);
+        Machines = int.Parse(info[1]);
+        var bestKnownQuality = reader.ReadLine().Trim();
+        BestKnownQuality = int.Parse(bestKnownQuality);
+        ProcessingTimes = new double[Machines, Jobs];
+
+        for (int k = 0; k < Machines; k++) {
+          if (reader.EndOfStream) throw new InvalidDataException("Unexpected End of Stream.");
+          var valLine = reader.ReadLine();
+          while (String.IsNullOrWhiteSpace(valLine)) valLine = reader.ReadLine();
+          var vals = valLine.Split(delim, StringSplitOptions.RemoveEmptyEntries);
+
+
+          for (int i = 0; i < Jobs; i++) {
+            ProcessingTimes[k, i] = double.Parse(vals[i], CultureInfo.InvariantCulture.NumberFormat);
+          }
         }
 
-        public void Reset()
-        {
-            Name = Description = String.Empty;
-            Jobs = Machines = BestKnownQuality = 0;
-            ProcessingTimes = null;
-            BestKnownSchedule = null;
+        while (!reader.EndOfStream) {
+          var vals = reader.ReadLine().Split(delim, StringSplitOptions.RemoveEmptyEntries);
+          if (vals.Count() == Jobs) { BestKnownSchedule = vals.Select(val => Int32.Parse(val)).ToArray(); }
+        }
+      }
+    }
+
+    public void Export(Stream stream) {
+      using (var writer = new StreamWriter(stream, Encoding.UTF8, 4092, true)) {
+        writer.WriteLine(Name);
+        writer.WriteLine(Description);
+        writer.WriteLine(Jobs + '\t' + Machines);
+        writer.WriteLine(BestKnownQuality);
+
+        for (int k = 0; k < Machines; k++) {
+          for (int i = 0; i < Jobs; i++) {
+            writer.Write(ProcessingTimes[k, i] + "\t");
+          }
+          writer.WriteLine();
         }
 
-        public void Parse(string file)
-        {
-            using (Stream stream = new FileStream(file, FileMode.Open, FileAccess.Read))
-            {
-                Parse(stream);
-            }
+        if (BestKnownSchedule != null) {
+          writer.WriteLine(BestKnownSchedule);
         }
-
-        public void Export(string file)
-        {
-            using (Stream stream = new FileStream(file, FileMode.Create, FileAccess.Write))
-            {
-                Export(stream);
-            }
-        }
-      
-        public void Parse(Stream stream)
-        {
-            using (var reader = new StreamReader(stream, Encoding.UTF8, true, 4092, true))
-            {
-                Name = reader.ReadLine().Trim();
-                Description = reader.ReadLine().Trim();
-                var delim = new char[] { ' ', '\t' };
-
-                var info = reader.ReadLine().Split(delim, StringSplitOptions.RemoveEmptyEntries);
-                Jobs = int.Parse(info[0]);
-                Machines = int.Parse(info[1]);
-                var bestKnownQuality = reader.ReadLine().Trim();
-                BestKnownQuality = int.Parse(bestKnownQuality);
-                ProcessingTimes = new double[Machines, Jobs];
-
-                for (int k = 0; k < Machines; k++)
-                {
-                    if (reader.EndOfStream) throw new InvalidDataException("Unexpected End of Stream.");
-                    var valLine = reader.ReadLine();
-                    while (String.IsNullOrWhiteSpace(valLine)) valLine = reader.ReadLine();
-                    var vals = valLine.Split(delim, StringSplitOptions.RemoveEmptyEntries);
-
-
-                    for (int i = 0; i < Jobs; i++)
-                    {
-                        ProcessingTimes[k, i] = double.Parse(vals[i], CultureInfo.InvariantCulture.NumberFormat);
-                    }
-                }
-
-                while (!reader.EndOfStream)
-                {
-                    var vals = reader.ReadLine().Split(delim, StringSplitOptions.RemoveEmptyEntries);
-                    if (vals.Count() == Jobs) { BestKnownSchedule = vals.Select(val => Int32.Parse(val)).ToArray(); }
-                }
-            }
-        }
-    
-        public void Export(Stream stream)
-        {
-            using (var writer = new StreamWriter(stream, Encoding.UTF8, 4092, true))
-            {
-                writer.WriteLine(Name);
-                writer.WriteLine(Description);
-                writer.WriteLine(Jobs + '\t' + Machines);
-                writer.WriteLine(BestKnownQuality);
-
-                for (int k = 0; k < Machines; k++)
-                {
-                    for (int i = 0; i < Jobs; i++)
-                    {
-                        writer.Write(ProcessingTimes[k, i] + "\t");
-                    }
-                    writer.WriteLine();
-                }
-
-                if (BestKnownSchedule != null) {
-                    writer.WriteLine(BestKnownSchedule);
-                }
-                writer.Flush();
-            }
-        }
+        writer.Flush();
+      }
     }
+  }
 }
Index: branches/2864_PermutationProblems/HeuristicLab.Problems.Instances.PFSP/3.3/Properties/AssemblyInfo.cs
===================================================================
--- branches/2864_PermutationProblems/HeuristicLab.Problems.Instances.PFSP/3.3/Properties/AssemblyInfo.cs	(revision 15541)
+++ branches/2864_PermutationProblems/HeuristicLab.Problems.Instances.PFSP/3.3/Properties/AssemblyInfo.cs	(revision 15639)
@@ -55,3 +55,3 @@
 // [assembly: AssemblyVersion("1.0.*")]
 [assembly: AssemblyVersion("3.3.0.0")]
-[assembly: AssemblyFileVersion("3.3.14.15521")]
+[assembly: AssemblyFileVersion("3.3.14.15541")]
