Index: branches/proxy/src/lib/util/executor/executor_functional.h
===================================================================
--- branches/proxy/src/lib/util/executor/executor_functional.h	(revision 9315)
+++ branches/proxy/src/lib/util/executor/executor_functional.h	(revision 9316)
@@ -179,5 +179,5 @@
   {
     (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(
-      fromString<type0>(sub[0], getDefault<type0>(this->defaultValue, 0)) );
+      (sub.size() > 0) ? fromString<type0>(sub[0], getDefault<type0>(this->defaultValue, 0)) : (fromMulti<type0>(this->defaultValue[0])));
   };
 
@@ -222,6 +222,6 @@
   {
     (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(
-      fromString<type0>(sub[0], getDefault<type0>(this->defaultValue, 0)),
-      fromString<type1>(sub[1], getDefault<type1>(this->defaultValue, 1)));
+      (sub.size() > 0) ? fromString<type0>(sub[0], getDefault<type0>(this->defaultValue, 0)) : (fromMulti<type0>(this->defaultValue[0])),
+      (sub.size() > 1) ? fromString<type1>(sub[1], getDefault<type1>(this->defaultValue, 1)) : (fromMulti<type1>(this->defaultValue[1])));
   };
 
@@ -276,7 +276,7 @@
   {
     (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(
-      fromString<type0>(sub[0], getDefault<type0>(this->defaultValue, 0)),
-      fromString<type1>(sub[1], getDefault<type1>(this->defaultValue, 1)),
-      fromString<type2>(sub[2], getDefault<type2>(this->defaultValue, 2)));
+      (sub.size() > 0) ? fromString<type0>(sub[0], getDefault<type0>(this->defaultValue, 0)) : (fromMulti<type0>(this->defaultValue[0])),
+      (sub.size() > 1) ? fromString<type1>(sub[1], getDefault<type1>(this->defaultValue, 1)) : (fromMulti<type1>(this->defaultValue[1])),
+      (sub.size() > 2) ? fromString<type2>(sub[2], getDefault<type2>(this->defaultValue, 2)) : (fromMulti<type2>(this->defaultValue[2])));
   };
 
@@ -333,8 +333,8 @@
   {
     (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(
-      fromString<type0>(sub[0], getDefault<type0>(this->defaultValue, 0)),
-      fromString<type1>(sub[1], getDefault<type1>(this->defaultValue, 1)),
-      fromString<type2>(sub[2], getDefault<type2>(this->defaultValue, 2)),
-      fromString<type3>(sub[3], getDefault<type3>(this->defaultValue, 3)));
+      (sub.size() > 0) ? fromString<type0>(sub[0], getDefault<type0>(this->defaultValue, 0)) : (fromMulti<type0>(this->defaultValue[0])),
+      (sub.size() > 1) ? fromString<type1>(sub[1], getDefault<type1>(this->defaultValue, 1)) : (fromMulti<type1>(this->defaultValue[1])),
+      (sub.size() > 2) ? fromString<type2>(sub[2], getDefault<type2>(this->defaultValue, 2)) : (fromMulti<type2>(this->defaultValue[2])),
+      (sub.size() > 3) ? fromString<type3>(sub[3], getDefault<type3>(this->defaultValue, 3)) : (fromMulti<type3>(this->defaultValue[3])));
   };
 
@@ -392,9 +392,9 @@
   {
     (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(
-      fromString<type0>(sub[0], getDefault<type0>(this->defaultValue, 0)),
-      fromString<type1>(sub[1], getDefault<type1>(this->defaultValue, 1)),
-      fromString<type2>(sub[2], getDefault<type2>(this->defaultValue, 2)),
-      fromString<type3>(sub[3], getDefault<type3>(this->defaultValue, 3)),
-      fromString<type4>(sub[4], getDefault<type4>(this->defaultValue, 4)));
+      (sub.size() > 0) ? fromString<type0>(sub[0], getDefault<type0>(this->defaultValue, 0)) : (fromMulti<type0>(this->defaultValue[0])),
+      (sub.size() > 1) ? fromString<type1>(sub[1], getDefault<type1>(this->defaultValue, 1)) : (fromMulti<type1>(this->defaultValue[1])),
+      (sub.size() > 2) ? fromString<type2>(sub[2], getDefault<type2>(this->defaultValue, 2)) : (fromMulti<type2>(this->defaultValue[2])),
+      (sub.size() > 3) ? fromString<type3>(sub[3], getDefault<type3>(this->defaultValue, 3)) : (fromMulti<type3>(this->defaultValue[3])),
+      (sub.size() > 4) ? fromString<type4>(sub[4], getDefault<type4>(this->defaultValue, 4)) : (fromMulti<type4>(this->defaultValue[4])));
   };
 
Index: branches/proxy/src/lib/util/substring.cc
===================================================================
--- branches/proxy/src/lib/util/substring.cc	(revision 9315)
+++ branches/proxy/src/lib/util/substring.cc	(revision 9316)
@@ -104,5 +104,5 @@
 
 /** @brief An empty String */
-const std::string SubString::emptyString = "";
+// const std::string SubString::emptyString = "";
 /** @brief Helper that gets you a String consisting of all White Spaces */
 const std::string SubString::WhiteSpaces = " \n\t";
@@ -234,5 +234,8 @@
   }
   else
-    return SubString::emptyString;
+  {
+    static std::string empty;
+    return empty;
+  }
 }
 
Index: branches/proxy/src/lib/util/substring.h
===================================================================
--- branches/proxy/src/lib/util/substring.h	(revision 9315)
+++ branches/proxy/src/lib/util/substring.h	(revision 9316)
@@ -84,5 +84,5 @@
   inline unsigned int size() const { return this->strings.size(); };
   /** @param i the i'th String @returns the i'th string from the subset of Strings */
-  inline const std::string& operator[](unsigned int i) const { return (i < this->strings.size()) ? this->strings[i] : emptyString; };
+  inline const std::string& operator[](unsigned int i) const { return /*(i < this->strings.size()) ? */this->strings[i] /*: emptyString*/; };
   /** @param i the i'th String @returns the i'th string from the subset of Strings */
   inline const std::string& getString(unsigned int i) const { return (*this)[i]; };
@@ -114,5 +114,5 @@
   std::vector<std::string>  strings;                      //!< strings produced from a single string splitted in multiple strings
 
-  static const std::string emptyString;
+//   static const std::string emptyString;
 };
 
