Index: /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/RegressionTreeModel.cs
===================================================================
--- /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/RegressionTreeModel.cs	(revision 16795)
+++ /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/RegressionTreeModel.cs	(revision 16796)
@@ -91,5 +91,5 @@
     #region old storable format
     // remove with HL 3.4
-    [Storable(AllowOneWay = true)]
+    [Storable(OldName = "SerializedTree")]
     // to prevent storing the references to data caches in nodes
     // seemingly, it is bad (performance-wise) to persist tuples (tuples are used as keys in a dictionary)
Index: /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkEnsembleModel.cs
===================================================================
--- /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkEnsembleModel.cs	(revision 16795)
+++ /trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkEnsembleModel.cs	(revision 16796)
@@ -153,5 +153,5 @@
       return new NeuralNetworkEnsembleClassificationSolution(this, new ClassificationEnsembleProblemData(problemData));
     }
-   
+
     #region persistence
     [Storable]
@@ -183,5 +183,5 @@
       }
     }
-    [Storable(AllowOneWay = true)]
+    [Storable(OldName = "MultiLayerPerceptronEnsembleDfdnet")]
     private double[] MultiLayerPerceptronEnsembleDfdnet {
       set {
@@ -197,9 +197,9 @@
       }
     }
-    [Storable(AllowOneWay = true)]
+    [Storable(OldName = "MultiLayerPerceptronEnsembleNeurons")]
     private double[] MultiLayerPerceptronEnsembleNeurons {
       set { mlpEnsemble.innerobj.network.neurons = value; }
     }
-    [Storable(AllowOneWay = true)]
+    [Storable(OldName = "MultiLayerPerceptronEnsembleSerializedMlp")]
     private double[] MultiLayerPerceptronEnsembleSerializedMlp {
       set {
@@ -207,5 +207,5 @@
       }
     }
-    [Storable(AllowOneWay = true)]
+    [Storable(OldName = "MultiLayerPerceptronStuctinfo")]
     private int[] MultiLayerPerceptronStuctinfo {
       set {
Index: /trunk/HeuristicLab.Analysis/3.3/DataVisualization/DataRowVisualProperties.cs
===================================================================
--- /trunk/HeuristicLab.Analysis/3.3/DataVisualization/DataRowVisualProperties.cs	(revision 16795)
+++ /trunk/HeuristicLab.Analysis/3.3/DataVisualization/DataRowVisualProperties.cs	(revision 16796)
@@ -227,9 +227,9 @@
     internal DataRowHistogramAggregation? Aggregation { get; private set; }
 
-    [Storable(Name = "Bins", AllowOneWay = true)]
+    [Storable(OldName = "Bins")]
     private int StorableBins { set { Bins = value; } }
-    [Storable(Name = "ExactBins", AllowOneWay = true)]
+    [Storable(OldName = "ExactBins")]
     private bool StorableExactBins { set { ExactBins = value; } }
-    [Storable(Name = "Aggregation", AllowOneWay = true)]
+    [Storable(OldName = "Aggregation")]
     private DataRowHistogramAggregation StorableAggregation { set { Aggregation = value; } }
     #endregion
Index: /trunk/HeuristicLab.Analysis/3.3/DataVisualization/IndexedDataRow.cs
===================================================================
--- /trunk/HeuristicLab.Analysis/3.3/DataVisualization/IndexedDataRow.cs	(revision 16795)
+++ /trunk/HeuristicLab.Analysis/3.3/DataVisualization/IndexedDataRow.cs	(revision 16796)
@@ -61,5 +61,5 @@
     #region Backwards compatible code, remove with 3.4
     // tuples are stored inefficiently
-    [Storable(Name = "values", AllowOneWay = true)]
+    [Storable(OldName = "values")]
     private IEnumerable<Tuple<T, double>> StorableValues {
       set { values = new ObservableList<Tuple<T, double>>(value); }
Index: /trunk/HeuristicLab.Analysis/3.3/DataVisualization/ScatterPlot.cs
===================================================================
--- /trunk/HeuristicLab.Analysis/3.3/DataVisualization/ScatterPlot.cs	(revision 16795)
+++ /trunk/HeuristicLab.Analysis/3.3/DataVisualization/ScatterPlot.cs	(revision 16796)
@@ -107,15 +107,15 @@
     #region Backwards compatible code, remove with 3.4
     private ObservableList<PointF> points;
-    [Storable(Name = "points", AllowOneWay = true)]
+    [Storable(OldName = "points")]
     private ObservableList<PointF> StorablePoints {
       set { points = value; }
     }
     private string xAxisName;
-    [Storable(Name = "xAxisName", AllowOneWay = true)]
+    [Storable(OldName = "xAxisName")]
     private string StorableXAxisName {
       set { xAxisName = value; }
     }
     private string yAxisName;
-    [Storable(Name = "yAxisName", AllowOneWay = true)]
+    [Storable(OldName = "yAxisName")]
     private string StorableYAxisName {
       set { yAxisName = value; }
Index: /trunk/HeuristicLab.Analysis/3.3/PopulationSimilarityAnalysis/PopulationSimilarityAnalyzer.cs
===================================================================
--- /trunk/HeuristicLab.Analysis/3.3/PopulationSimilarityAnalysis/PopulationSimilarityAnalyzer.cs	(revision 16795)
+++ /trunk/HeuristicLab.Analysis/3.3/PopulationSimilarityAnalysis/PopulationSimilarityAnalyzer.cs	(revision 16796)
@@ -44,5 +44,5 @@
     #region Backwards compatible code, remove with 3.4
     private ISolutionSimilarityCalculator oldSimilarityCalculator;
-    [Storable(AllowOneWay = true, Name = "SimilarityCalculator")]
+    [Storable(OldName = "SimilarityCalculator")]
     [Obsolete]
     private ISolutionSimilarityCalculator SimilarityCalculator { set { oldSimilarityCalculator = value; } }
Index: /trunk/HeuristicLab.Optimization/3.3/MetaOptimizers/BatchRun.cs
===================================================================
--- /trunk/HeuristicLab.Optimization/3.3/MetaOptimizers/BatchRun.cs	(revision 16795)
+++ /trunk/HeuristicLab.Optimization/3.3/MetaOptimizers/BatchRun.cs	(revision 16796)
@@ -112,5 +112,5 @@
     // BackwardsCompatibility3.3
     #region Backwards compatible code (remove with 3.4)
-    [Storable(AllowOneWay = true)]
+    [Storable(OldName = "algorithm")]
     private IAlgorithm algorithm {
       set { optimizer = value; }
Index: /trunk/HeuristicLab.Optimization/3.3/Problems/Problem.cs
===================================================================
--- /trunk/HeuristicLab.Optimization/3.3/Problems/Problem.cs	(revision 16795)
+++ /trunk/HeuristicLab.Optimization/3.3/Problems/Problem.cs	(revision 16796)
@@ -84,5 +84,5 @@
     // BackwardsCompatibility3.3
     #region Backwards compatible code, remove with 3.4
-    [Storable(Name = "Operators", AllowOneWay = true)]
+    [Storable(OldName = "Operators")]
     private IEnumerable<IOperator> StorableOperators {
       set {
Index: /trunk/HeuristicLab.Optimization/3.3/RunCollection.cs
===================================================================
--- /trunk/HeuristicLab.Optimization/3.3/RunCollection.cs	(revision 16795)
+++ /trunk/HeuristicLab.Optimization/3.3/RunCollection.cs	(revision 16796)
@@ -125,5 +125,5 @@
     // BackwardsCompatibility3.3
     #region Backwards compatible code, remove with 3.4
-    [Storable(AllowOneWay = true)]
+    [Storable(OldName = "AlgorithmName")]
     private string AlgorithmName {
       set { optimizerName = value; }
Index: /trunk/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableMemberInfo.cs
===================================================================
--- /trunk/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableMemberInfo.cs	(revision 16795)
+++ /trunk/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableMemberInfo.cs	(revision 16796)
@@ -44,5 +44,5 @@
       DefaultValue = attribute.DefaultValue;
       MemberInfo = memberInfo;
-      if (!attribute.AllowOneWay)
+      if (!string.IsNullOrEmpty(attribute.OldName))
         CheckPropertyAccess(memberInfo as PropertyInfo);
     }
Index: /trunk/HeuristicLab.Problems.DataAnalysis/3.4/Dataset.cs
===================================================================
--- /trunk/HeuristicLab.Problems.DataAnalysis/3.4/Dataset.cs	(revision 16795)
+++ /trunk/HeuristicLab.Problems.DataAnalysis/3.4/Dataset.cs	(revision 16796)
@@ -133,6 +133,6 @@
     #region Backwards compatible code, remove with 3.5
     private double[,] storableData;
-    //name alias used to suppport backwards compatibility
-    [Storable(Name = "data", AllowOneWay = true)]
+    //name alias used to support backwards compatibility
+    [Storable(OldName = "data")]
     private double[,] StorableData { set { storableData = value; } }
 
Index: /trunk/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionEnsembleModel.cs
===================================================================
--- /trunk/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionEnsembleModel.cs	(revision 16795)
+++ /trunk/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionEnsembleModel.cs	(revision 16796)
@@ -73,5 +73,5 @@
 
     #region backwards compatiblity 3.3.5
-    [Storable(Name = "models", AllowOneWay = true)]
+    [Storable(OldName = "models")]
     private List<IRegressionModel> OldStorableModels {
       set { models = value; }
Index: /trunk/HeuristicLab.Problems.VehicleRouting/3.4/VehicleRoutingProblem.cs
===================================================================
--- /trunk/HeuristicLab.Problems.VehicleRouting/3.4/VehicleRoutingProblem.cs	(revision 16795)
+++ /trunk/HeuristicLab.Problems.VehicleRouting/3.4/VehicleRoutingProblem.cs	(revision 16796)
@@ -175,5 +175,5 @@
     }
 
-    [Storable(Name = "operators", AllowOneWay = true)]
+    [Storable(OldName = "operators")]
     private List<IOperator> StorableOperators {
       set { Operators.AddRange(value); }
