Index: /trunk/sources/HeuristicLab.Common/3.3/Content/Content.cs
===================================================================
--- /trunk/sources/HeuristicLab.Common/3.3/Content/Content.cs	(revision 3411)
+++ /trunk/sources/HeuristicLab.Common/3.3/Content/Content.cs	(revision 3412)
@@ -27,26 +27,6 @@
 namespace HeuristicLab.Common {
   public class Content : DeepCloneable, IContent {
-    public Content() {
-      this.readOnlyView = false;
-    }
-    public Content(bool readOnlyView)
-      : this() {
-      this.ReadOnlyView = readOnlyView;
-    }
-
-    private bool readOnlyView;
-    public virtual bool ReadOnlyView {
-      get { return readOnlyView; }
-      set {
-        if (readOnlyView != value) {
-          readOnlyView = value;
-          OnReadOnlyViewChanged();
-        }
-      }
-    }
-    public event EventHandler ReadOnlyViewChanged;
-    protected virtual void OnReadOnlyViewChanged() {
-      EventHandler handler = ReadOnlyViewChanged;
-      if (handler != null) handler(this, EventArgs.Empty);
+    public Content()
+      : base() {
     }
   }
Index: /trunk/sources/HeuristicLab.Common/3.3/Content/IContent.cs
===================================================================
--- /trunk/sources/HeuristicLab.Common/3.3/Content/IContent.cs	(revision 3411)
+++ /trunk/sources/HeuristicLab.Common/3.3/Content/IContent.cs	(revision 3412)
@@ -26,8 +26,5 @@
 
 namespace HeuristicLab.Common {
-  public interface IContent :IDeepCloneable{
-    bool ReadOnlyView { get; set; }
-
-    event EventHandler ReadOnlyViewChanged;
+  public interface IContent{
   }
 }
Index: /trunk/sources/HeuristicLab.Common/3.3/Content/IStorableContent.cs
===================================================================
--- /trunk/sources/HeuristicLab.Common/3.3/Content/IStorableContent.cs	(revision 3411)
+++ /trunk/sources/HeuristicLab.Common/3.3/Content/IStorableContent.cs	(revision 3412)
@@ -28,5 +28,4 @@
   public interface IStorableContent : IContent {
     string Filename { get; set; }
-    bool SaveEnabled { get; set; }
 
     void Save();
@@ -36,5 +35,4 @@
 
     event EventHandler FilenameChanged;
-    event EventHandler SaveEnabledChanged;
     event EventHandler SaveOperationStarted;
     event EventHandler<EventArgs<Exception>> SaveOperationFinished;
Index: /trunk/sources/HeuristicLab.Common/3.3/Content/StorableContent.cs
===================================================================
--- /trunk/sources/HeuristicLab.Common/3.3/Content/StorableContent.cs	(revision 3411)
+++ /trunk/sources/HeuristicLab.Common/3.3/Content/StorableContent.cs	(revision 3412)
@@ -32,13 +32,7 @@
       : base() {
       this.filename = string.Empty;
-      this.saveEnabled = true;
     }
-    public StorableContent(bool saveEnabled)
-      : this() {
-      this.saveEnabled = saveEnabled;
-      //NOTE: important do not call propagate changes, because derived objects are not constructed
-    }
-    public StorableContent(bool saveEnabled, string filename)
-      : this(saveEnabled) {
+    public StorableContent(string filename)
+      : base() {
       this.Filename = filename;
     }
@@ -55,33 +49,15 @@
     }
 
-    private bool saveEnabled;
-    public virtual bool SaveEnabled {
-      get { return this.saveEnabled; }
-      set {
-        if (this.saveEnabled != value) {
-          this.saveEnabled = value;
-          this.PropagateSaveEnabledChanges();
-          this.OnSaveEnabledChanged();
-        }
-      }
-    }
-
-    protected void PropagateSaveEnabledChanges() {
-      Type type = this.GetType();
-      foreach (FieldInfo fieldInfo in type.GetFields(BindingFlags.Default)) {
-        if (typeof(IStorableContent).IsAssignableFrom(fieldInfo.GetType())) {
-          IStorableContent storableContent = (IStorableContent)fieldInfo.GetValue(this);
-          storableContent.SaveEnabled = this.saveEnabled;
-        }
-      }
-    }
-
     protected abstract void Save();
     void IStorableContent.Save() {
-      if (this.SaveEnabled) {
-        this.OnSaveOperationStarted();
+      this.OnSaveOperationStarted();
+      Exception ex = null;
+      try {
         this.Save();
-        this.OnSaveOperationFinished(null);
       }
+      catch (Exception e) {
+        ex = e;
+      }
+      this.OnSaveOperationFinished(ex);
     }
     public void Save(string filename) {
@@ -93,8 +69,5 @@
       ThreadPool.QueueUserWorkItem(
         new WaitCallback(delegate(object arg) {
-        try { this.Save(); }
-        catch (Exception ex) {
-          this.OnSaveOperationFinished(ex);
-        }
+        this.Save();
       })
       );
@@ -115,9 +88,4 @@
       if (handler != null) handler(this, EventArgs.Empty);
     }
-    public event EventHandler SaveEnabledChanged;
-    protected virtual void OnSaveEnabledChanged() {
-      EventHandler handler = SaveEnabledChanged;
-      if (handler != null) handler(this, EventArgs.Empty);
-    }
     public event EventHandler SaveOperationStarted;
     protected virtual void OnSaveOperationStarted() {
@@ -130,5 +98,4 @@
       if (handler != null) handler(this, new EventArgs<Exception>(ex));
     }
-
   }
 }
