Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/EmptyEvent.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/EmptyEvent.cs	(revision 9790)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/EmptyEvent.cs	(revision 10011)
@@ -20,4 +20,5 @@
 #endregion
 
+using System.Collections.Generic;
 using HeuristicLab.Common;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
@@ -37,14 +38,8 @@
 
     [StorableConstructor]
-    private EmptyEvent(bool deserializing) : base(deserializing) { }
-    private EmptyEvent(EmptyEvent original, Cloner cloner)
-      : base(original, cloner) {
-    }
+    protected EmptyEvent(bool deserializing) : base(deserializing) { }
+    protected EmptyEvent(EmptyEvent original, Cloner cloner) : base(original, cloner) { }
 
-    public EmptyEvent()
-      : base("EmptyEvent", "This is a placeholder for an empty event.") {
-      this.Prefix = "";
-      this.Suffix = "";
-    }
+    public EmptyEvent() : base("EmptyEvent", "This is a placeholder for an empty event.") { }
 
     public override IDeepCloneable Clone(Cloner cloner) {
@@ -52,6 +47,6 @@
     }
 
-    public override string Interpret(ISymbolicExpressionTreeNode node, System.Collections.Generic.IEnumerable<ISymbolicExpressionTreeNode> children) {
-      return "";
+    public override string Interpret(ISymbolicExpressionTreeNode node, IEnumerable<ISymbolicExpressionTreeNode> children) {
+      return ";";
     }
   }
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnBulletHit.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnBulletHit.cs	(revision 9790)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnBulletHit.cs	(revision 10011)
@@ -20,4 +20,7 @@
 #endregion
 
+using System;
+using System.Collections.Generic;
+using System.Linq;
 using HeuristicLab.Common;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
@@ -37,14 +40,13 @@
 
     [StorableConstructor]
-    private OnBulletHit(bool deserializing) : base(deserializing) { }
-    private OnBulletHit(OnBulletHit original, Cloner cloner)
-      : base(original, cloner) {
-
-    }
+    protected OnBulletHit(bool deserializing) : base(deserializing) { }
+    protected OnBulletHit(OnBulletHit original, Cloner cloner) : base(original, cloner) { }
 
     public OnBulletHit()
       : base("OnBulletHit", "This method is called when one of your bullets hits another robot.") {
-      this.Prefix = "\r\npublic void onBulletHit(BulletHitEvent e) {\r\n";
-      this.Suffix = "\r\nexecute();\r\n}\r\n";
+      Prefix = "public void onBulletHit(BulletHitEvent e) {";
+      Suffix =
+@"execute();
+}";
     }
 
@@ -53,9 +55,7 @@
     }
 
-    public override string Interpret(ISymbolicExpressionTreeNode node, System.Collections.Generic.IEnumerable<ISymbolicExpressionTreeNode> children) {
-      string result = "";
-      foreach (ISymbolicExpressionTreeNode c in children)
-        result += "\r\n" + ((CodeNode)c.Symbol).Interpret(c, c.Subtrees);
-      return this.Prefix + "\r\n" + result + "\r\n" + this.Suffix;
+    public override string Interpret(ISymbolicExpressionTreeNode node, IEnumerable<ISymbolicExpressionTreeNode> children) {
+      string result = children.Aggregate(string.Empty, (current, c) => current + (Environment.NewLine + ((CodeNode)c.Symbol).Interpret(c, c.Subtrees)));
+      return Prefix + result + Environment.NewLine + Suffix;
     }
   }
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnBulletMissed.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnBulletMissed.cs	(revision 9790)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnBulletMissed.cs	(revision 10011)
@@ -20,4 +20,7 @@
 #endregion
 
+using System;
+using System.Collections.Generic;
+using System.Linq;
 using HeuristicLab.Common;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
@@ -37,14 +40,13 @@
 
     [StorableConstructor]
-    private OnBulletMissed(bool deserializing) : base(deserializing) { }
-    private OnBulletMissed(OnBulletMissed original, Cloner cloner)
-      : base(original, cloner) {
-
-    }
+    protected OnBulletMissed(bool deserializing) : base(deserializing) { }
+    protected OnBulletMissed(OnBulletMissed original, Cloner cloner) : base(original, cloner) { }
 
     public OnBulletMissed()
       : base("OnBulletMissed", "This method is called when one of your bullets misses, i.e. hits a wall.") {
-      this.Prefix = "\r\npublic void onBulletMissed(BulletMissedEvent e) {\r\n";
-      this.Suffix = "\r\nexecute();\r\n}\r\n";
+      Prefix = "public void onBulletMissed(BulletMissedEvent e) {";
+      Suffix =
+@"execute();
+}";
     }
 
@@ -53,9 +55,7 @@
     }
 
-    public override string Interpret(ISymbolicExpressionTreeNode node, System.Collections.Generic.IEnumerable<ISymbolicExpressionTreeNode> children) {
-      string result = "";
-      foreach (ISymbolicExpressionTreeNode c in children)
-        result += "\r\n" + ((CodeNode)c.Symbol).Interpret(c, c.Subtrees);
-      return this.Prefix + "\r\n" + result + "\r\n" + this.Suffix;
+    public override string Interpret(ISymbolicExpressionTreeNode node, IEnumerable<ISymbolicExpressionTreeNode> children) {
+      string result = children.Aggregate(string.Empty, (current, c) => current + (Environment.NewLine + ((CodeNode)c.Symbol).Interpret(c, c.Subtrees)));
+      return Prefix + result + Environment.NewLine + Suffix;
     }
   }
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnHitByBullet.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnHitByBullet.cs	(revision 9790)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnHitByBullet.cs	(revision 10011)
@@ -20,4 +20,7 @@
 #endregion
 
+using System;
+using System.Collections.Generic;
+using System.Linq;
 using HeuristicLab.Common;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
@@ -37,14 +40,13 @@
 
     [StorableConstructor]
-    private OnHitByBullet(bool deserializing) : base(deserializing) { }
-    private OnHitByBullet(OnHitByBullet original, Cloner cloner)
-      : base(original, cloner) {
-
-    }
+    protected OnHitByBullet(bool deserializing) : base(deserializing) { }
+    protected OnHitByBullet(OnHitByBullet original, Cloner cloner) : base(original, cloner) { }
 
     public OnHitByBullet()
       : base("OnHitByBullet", "This method is called when your robot is hit by a bullet.") {
-      this.Prefix = "\r\npublic void onHitByBullet(HitByBulletEvent e) {\r\n";
-      this.Suffix = "\r\nexecute();\r\n}\r\n";
+      Prefix = "public void onHitByBullet(HitByBulletEvent e) {";
+      Suffix =
+@"execute();
+}";
     }
 
@@ -53,9 +55,7 @@
     }
 
-    public override string Interpret(ISymbolicExpressionTreeNode node, System.Collections.Generic.IEnumerable<ISymbolicExpressionTreeNode> children) {
-      string result = "";
-      foreach (ISymbolicExpressionTreeNode c in children)
-        result += "\r\n" + ((CodeNode)c.Symbol).Interpret(c, c.Subtrees);
-      return this.Prefix + "\r\n" + result + "\r\n" + this.Suffix;
+    public override string Interpret(ISymbolicExpressionTreeNode node, IEnumerable<ISymbolicExpressionTreeNode> children) {
+      string result = children.Aggregate(string.Empty, (current, c) => current + (Environment.NewLine + ((CodeNode)c.Symbol).Interpret(c, c.Subtrees)));
+      return Prefix + result + Environment.NewLine + Suffix;
     }
   }
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnHitRobot.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnHitRobot.cs	(revision 9790)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnHitRobot.cs	(revision 10011)
@@ -20,4 +20,7 @@
 #endregion
 
+using System;
+using System.Collections.Generic;
+using System.Linq;
 using HeuristicLab.Common;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
@@ -37,13 +40,13 @@
 
     [StorableConstructor]
-    private OnHitRobot(bool deserializing) : base(deserializing) { }
-    private OnHitRobot(OnHitRobot original, Cloner cloner)
-      : base(original, cloner) {
-    }
+    protected OnHitRobot(bool deserializing) : base(deserializing) { }
+    protected OnHitRobot(OnHitRobot original, Cloner cloner) : base(original, cloner) { }
 
     public OnHitRobot()
       : base("OnHitRobot", "This method is called when your robot collides with another robot.") {
-      this.Prefix = "\r\npublic void onHitRobot(HitRobotEvent e) {\r\n";
-      this.Suffix = "\r\nexecute();\r\n}\r\n";
+      Prefix = "public void onHitRobot(HitRobotEvent e) {";
+      Suffix =
+@"execute();
+}";
     }
 
@@ -52,9 +55,7 @@
     }
 
-    public override string Interpret(ISymbolicExpressionTreeNode node, System.Collections.Generic.IEnumerable<ISymbolicExpressionTreeNode> children) {
-      string result = "";
-      foreach (ISymbolicExpressionTreeNode c in children)
-        result += "\r\n" + ((CodeNode)c.Symbol).Interpret(c, c.Subtrees);
-      return this.Prefix + "\r\n" + result + "\r\n" + this.Suffix;
+    public override string Interpret(ISymbolicExpressionTreeNode node, IEnumerable<ISymbolicExpressionTreeNode> children) {
+      string result = children.Aggregate(string.Empty, (current, c) => current + (Environment.NewLine + ((CodeNode)c.Symbol).Interpret(c, c.Subtrees)));
+      return Prefix + result + Environment.NewLine + Suffix;
     }
   }
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnHitWall.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnHitWall.cs	(revision 9790)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnHitWall.cs	(revision 10011)
@@ -20,4 +20,7 @@
 #endregion
 
+using System;
+using System.Collections.Generic;
+using System.Linq;
 using HeuristicLab.Common;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
@@ -37,14 +40,13 @@
 
     [StorableConstructor]
-    private OnHitWall(bool deserializing) : base(deserializing) { }
-    private OnHitWall(OnHitWall original, Cloner cloner)
-      : base(original, cloner) {
-
-    }
+    protected OnHitWall(bool deserializing) : base(deserializing) { }
+    protected OnHitWall(OnHitWall original, Cloner cloner) : base(original, cloner) { }
 
     public OnHitWall()
       : base("OnHitWall", "This method is called when your robot collides with a wall.") {
-      this.Prefix = "\r\npublic void onHitWall(HitWallEvent e) {\r\n";
-      this.Suffix = "\r\nexecute();\r\n}\r\n";
+      Prefix = "public void onHitWall(HitWallEvent e) {";
+      Suffix =
+@"execute();
+}";
     }
 
@@ -53,9 +55,7 @@
     }
 
-    public override string Interpret(ISymbolicExpressionTreeNode node, System.Collections.Generic.IEnumerable<ISymbolicExpressionTreeNode> children) {
-      string result = "";
-      foreach (ISymbolicExpressionTreeNode c in children)
-        result += "\r\n" + ((CodeNode)c.Symbol).Interpret(c, c.Subtrees);
-      return this.Prefix + "\r\n" + result + "\r\n" + this.Suffix;
+    public override string Interpret(ISymbolicExpressionTreeNode node, IEnumerable<ISymbolicExpressionTreeNode> children) {
+      string result = children.Aggregate(string.Empty, (current, c) => current + (Environment.NewLine + ((CodeNode)c.Symbol).Interpret(c, c.Subtrees)));
+      return Prefix + result + Environment.NewLine + Suffix;
     }
   }
Index: branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnScannedRobot.cs
===================================================================
--- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnScannedRobot.cs	(revision 9790)
+++ branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Event Methods/Events/OnScannedRobot.cs	(revision 10011)
@@ -20,4 +20,7 @@
 #endregion
 
+using System;
+using System.Collections.Generic;
+using System.Linq;
 using HeuristicLab.Common;
 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
@@ -37,17 +40,17 @@
 
     [StorableConstructor]
-    private OnScannedRobot(bool deserializing) : base(deserializing) { }
-    private OnScannedRobot(OnScannedRobot original, Cloner cloner)
-      : base(original, cloner) {
-
-    }
+    protected OnScannedRobot(bool deserializing) : base(deserializing) { }
+    protected OnScannedRobot(OnScannedRobot original, Cloner cloner) : base(original, cloner) { }
 
     public OnScannedRobot()
       : base("OnScannedRobot", "This method is called when your robot sees another robot, i.e. when the robot's radar scan \"hits\" another robot.") {
-      this.Prefix = "\r\npublic void onScannedRobot(ScannedRobotEvent e) {" +
-                    "\r\ndouble absoluteBearing = getHeading() + e.getBearing();" +
-                    "\r\ndouble bearingFromGun = normalRelativeAngleDegrees(absoluteBearing - getGunHeading());" +
-                    "\r\nsetTurnGunRight(bearingFromGun);\r\n";
-      this.Suffix = "\r\nexecute();\r\n}\r\n";
+      Prefix =
+@"public void onScannedRobot(ScannedRobotEvent e) {
+double absoluteBearing = getHeading() + e.getBearing();
+double bearingFromGun = normalRelativeAngleDegrees(absoluteBearing - getGunHeading());
+setTurnGunRight(bearingFromGun);";
+      Suffix =
+@"execute();
+}";
     }
 
@@ -56,9 +59,7 @@
     }
 
-    public override string Interpret(ISymbolicExpressionTreeNode node, System.Collections.Generic.IEnumerable<ISymbolicExpressionTreeNode> children) {
-      string result = "";
-      foreach (ISymbolicExpressionTreeNode c in children)
-        result += "\r\n" + ((CodeNode)c.Symbol).Interpret(c, c.Subtrees);
-      return this.Prefix + "\r\n" + result + "\r\n" + this.Suffix;
+    public override string Interpret(ISymbolicExpressionTreeNode node, IEnumerable<ISymbolicExpressionTreeNode> children) {
+      string result = children.Aggregate(string.Empty, (current, c) => current + (Environment.NewLine + ((CodeNode)c.Symbol).Interpret(c, c.Subtrees)));
+      return Prefix + result + Environment.NewLine + Suffix;
     }
   }
