public void Load(long algorithmId)
 {
     if (this.algorithmId != algorithmId)
     {
         IAlgorithm algorithm;
         byte[]     algorithmData = RunCreationClient.GetAlgorithmData(algorithmId);
         using (MemoryStream stream = new MemoryStream(algorithmData)) {
             algorithm = XmlParser.Deserialize <IAlgorithm>(stream);
         }
         this.algorithmId = algorithmId;
         Algorithm        = algorithm;
     }
 }
 public void Load(long problemId)
 {
     if (this.problemId != problemId)
     {
         IHeuristicOptimizationProblem problem;
         byte[] problemData = RunCreationClient.GetProblemData(problemId);
         using (MemoryStream stream = new MemoryStream(problemData)) {
             problem = XmlParser.Deserialize <IHeuristicOptimizationProblem>(stream);
         }
         if (ProblemType.IsAssignableFrom(problem.GetType()))
         {
             this.problemId = problemId;
             Problem        = problem;
         }
     }
 }