Index: branches/2435-alglib_3_15/HeuristicLab.Optimizer/3.3/FileManager.cs
===================================================================
--- branches/2435-alglib_3_15/HeuristicLab.Optimizer/3.3/FileManager.cs	(revision 16683)
+++ branches/2435-alglib_3_15/HeuristicLab.Optimizer/3.3/FileManager.cs	(revision 17034)
@@ -23,4 +23,5 @@
 using System.Collections.Generic;
 using System.IO;
+using System.Linq;
 using System.Threading;
 using System.Windows.Forms;
@@ -73,7 +74,11 @@
     }
 
-    private static void LoadingCompleted(IStorableContent content, Exception error) {
+    private static void LoadingCompleted(IStorableContent content, Exception error, ContentManager.Info info) {
       try {
         if (error != null) throw error;
+        if (info!=null && info.UnknownTypeGuids.Any()) {
+          var message = "Unknown type guids: " + string.Join(Environment.NewLine, info.UnknownTypeGuids);
+          MessageBox.Show((Control)MainFormManager.MainForm, message, $"File {info.Filename} not restored completely", MessageBoxButtons.OK, MessageBoxIcon.Information);
+        }
         IView view = MainFormManager.MainForm.ShowContent(content);
         if (view == null)
Index: branches/2435-alglib_3_15/HeuristicLab.Optimizer/3.3/HeuristicLab.Optimizer-3.3.csproj
===================================================================
--- branches/2435-alglib_3_15/HeuristicLab.Optimizer/3.3/HeuristicLab.Optimizer-3.3.csproj	(revision 16683)
+++ branches/2435-alglib_3_15/HeuristicLab.Optimizer/3.3/HeuristicLab.Optimizer-3.3.csproj	(revision 17034)
@@ -312,9 +312,4 @@
       <Private>False</Private>
     </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
-      <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project>
-      <Name>HeuristicLab.Persistence-3.3</Name>
-      <Private>False</Private>
-    </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
       <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
Index: branches/2435-alglib_3_15/HeuristicLab.Optimizer/3.3/Plugin.cs.frame
===================================================================
--- branches/2435-alglib_3_15/HeuristicLab.Optimizer/3.3/Plugin.cs.frame	(revision 16683)
+++ branches/2435-alglib_3_15/HeuristicLab.Optimizer/3.3/Plugin.cs.frame	(revision 17034)
@@ -30,4 +30,5 @@
   [Plugin("HeuristicLab.Optimizer", "3.3.15.$WCREV$")]
   [PluginFile("HeuristicLab.Optimizer-3.3.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Attic", "1.0")]
   [PluginDependency("HeuristicLab.Clients.Access", "3.3")]
   [PluginDependency("HeuristicLab.Clients.Common", "3.3")]
@@ -43,5 +44,4 @@
   [PluginDependency("HeuristicLab.Optimization", "3.3")]
   [PluginDependency("HeuristicLab.Parameters", "3.3")]
-  [PluginDependency("HeuristicLab.Persistence", "3.3")]
   [PluginDependency("HeuristicLab.Problems.Instances", "3.3")]
   public class HeuristicLabOptimizerPlugin : PluginBase {
Index: branches/2435-alglib_3_15/HeuristicLab.Optimizer/3.3/StartPage.cs
===================================================================
--- branches/2435-alglib_3_15/HeuristicLab.Optimizer/3.3/StartPage.cs	(revision 16683)
+++ branches/2435-alglib_3_15/HeuristicLab.Optimizer/3.3/StartPage.cs	(revision 17034)
@@ -23,12 +23,13 @@
 using System.Collections.Generic;
 using System.IO;
+using System.IO.Compression;
 using System.Linq;
 using System.Reflection;
 using System.Threading;
 using System.Windows.Forms;
+using HEAL.Attic;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
 using HeuristicLab.MainForm;
-using HeuristicLab.Persistence.Default.Xml;
 
 namespace HeuristicLab.Optimizer {
@@ -117,15 +118,10 @@
 
     private void LoadSample(string name, Assembly assembly, ListViewGroup group, int count) {
-      string path = Path.GetTempFileName();
-      try {
-        using (var stream = assembly.GetManifestResourceStream(name)) {
-          WriteStreamToTempFile(stream, path); // create a file in a temporary folder (persistence cannot load these files directly from the stream)
-          var item = XmlParser.Deserialize<INamedItem>(path);
+      using (var stream = assembly.GetManifestResourceStream(name)) {
+        var serializer = new ProtoBufSerializer();
+        // TODO remove deflateStream with next release of HEAL.Attic
+        using (var deflateStream = new DeflateStream(stream, CompressionMode.Decompress, true)) {
+          var item = (NamedItem)serializer.Deserialize(deflateStream, false);
           OnSampleLoaded(item, group, 1.0 / count);
-        }
-      } catch (Exception) {
-      } finally {
-        if (File.Exists(path)) {
-          File.Delete(path); // make sure we remove the temporary file
         }
       }
@@ -199,12 +195,4 @@
       Properties.Settings.Default.Save();
     }
-
-    #region Helpers
-    private void WriteStreamToTempFile(Stream stream, string path) {
-      using (FileStream output = new FileStream(path, FileMode.Create, FileAccess.Write)) {
-        stream.CopyTo(output);
-      }
-    }
-    #endregion
   }
 }
