Index: branches/new_class_id/src/lib/util/loading/load_param.cc
===================================================================
--- branches/new_class_id/src/lib/util/loading/load_param.cc	(revision 9769)
+++ branches/new_class_id/src/lib/util/loading/load_param.cc	(revision 9770)
@@ -44,6 +44,11 @@
  * @returns a pointer to itself.
  */
-void LoadParamBase::describe(const std::string& descriptionText)
+void LoadParamBase::describe(const ClassID& classID, const std::string& descriptionText)
 {
+  PRINTF(5)("Describing Class '%s'(id:%d) Parameter '%s': description '%s'\n",
+  classID.name().c_str(), classID.id(), paramName.c_str(), descriptionText.c_str());
+
+//  LoadParamDescription
+
   /// TODO REIMPLEMENT
   /*  if (LoadParamClassDescription::parametersDescription && this->paramDesc && this->paramDesc->getDescription().empty())
@@ -65,22 +70,14 @@
  * @returns the Value of the parameter if found, NULL otherwise
 */
-std::string grabParameter(const TiXmlElement* root, const std::string& parameterName)
+const std::string& LoadParamBase::grabParameter(const TiXmlElement* root, const std::string& parameterName)
 {
-  const TiXmlElement* element;
-  const TiXmlNode* node;
-
-  if (root == NULL)
-    return "";
-
-  element = root->FirstChildElement( parameterName);
-  if( element == NULL) return "";
-
-  node = element->FirstChild();
-  while( node != NULL)
+  const TiXmlElement* const element = grabParameterElement(root, parameterName);
+  if (element != NULL)
+    return element->Value();
+  else
   {
-    if( node->ToText()) return node->Value();
-    node = node->NextSibling();
+    static std::string empty("");
+    return empty;
   }
-  return "";
 }
 
@@ -90,5 +87,5 @@
  * @returns the Element of the parameter if found, NULL otherwise
  */
-const TiXmlElement* grabParameterElement(const TiXmlElement* root, const std::string& parameterName)
+const TiXmlElement* LoadParamBase::grabParameterElement(const TiXmlElement* root, const std::string& parameterName)
 {
   const TiXmlElement* element;
Index: branches/new_class_id/src/lib/util/loading/load_param.h
===================================================================
--- branches/new_class_id/src/lib/util/loading/load_param.h	(revision 9769)
+++ branches/new_class_id/src/lib/util/loading/load_param.h	(revision 9770)
@@ -92,5 +92,10 @@
 
 protected:
-  void describe(const std::string& descriptionText);
+  void describe(const ClassID& id, const std::string& descriptionText);
+
+private:
+  const std::string& grabParameter(const TiXmlElement* root, const std::string& parameterName);
+  const TiXmlElement* grabParameterElement(const TiXmlElement* root, const std::string& parameterName);
+
 
 protected:
@@ -146,7 +151,6 @@
                             const MultiType& value4 = MT_NULL)
   { this->executor->defaultValues(value0, value1, value2, value3, value4); return *this;  };
-  CLoadParam& describe(const std::string& descriptionText) { LoadParamBase::describe(descriptionText); return *this; };
+  CLoadParam& describe(const std::string& descriptionText) { LoadParamBase::describe(OperateClass::staticClassID(), descriptionText); return *this; };
   //     CLoadParam& attribute(const std::string& attributeName, const Executor<SubString>& executor);
-
 
 private:
@@ -157,6 +161,4 @@
 // helper function
 
-std::string grabParameter(const TiXmlElement* root, const std::string& parameterName);
-const TiXmlElement* grabParameterElement(const TiXmlElement* root, const std::string& parameterName);
 
 #endif /* _LOAD_PARAM_H */
Index: branches/new_class_id/src/lib/util/loading/load_param_xml.h
===================================================================
--- branches/new_class_id/src/lib/util/loading/load_param_xml.h	(revision 9769)
+++ branches/new_class_id/src/lib/util/loading/load_param_xml.h	(revision 9770)
@@ -50,5 +50,5 @@
 
 //! A Class that can load XML tags onto an Object.
-template <class BaseClass = BaseObject> class XmlLoadParam : public LoadParamBase
+template <class OperateClass = BaseObject> class XmlLoadParam : public LoadParamBase
 {
 public:
@@ -61,5 +61,5 @@
    * @param inLoadCycle If we are inside of a loading cycle. (Loading will be different here)
    */
-  XmlLoadParam(const TiXmlElement* root, const std::string& paramName, BaseClass* object, Executor<const TiXmlElement*>* executor, bool inLoadCycle = false)
+  XmlLoadParam(const TiXmlElement* root, const std::string& paramName, OperateClass* object, Executor<const TiXmlElement*>* executor, bool inLoadCycle = false)
       : LoadParamBase(root, paramName, inLoadCycle), object(object) , executor(executor)
   {
@@ -76,8 +76,8 @@
 
   /** @param descriptionText the description @returns self @brief describes the Loading parameter. */
-  XmlLoadParam& describe(const std::string& descriptionText) { LoadParamBase::describe(descriptionText); return *this; };
+  XmlLoadParam& describe(const std::string& descriptionText) { LoadParamBase::describe(OperateClass::staticClassID(), descriptionText); return *this; };
 
 private:
-  BaseClass*                        object;         //!< The Object to apply this to.
+  OperateClass*                        object;         //!< The Object to apply this to.
   Executor<const TiXmlElement*>*    executor;       //!< The Executor, that does the actual loading process.
 };
