Index: code/branches/objecthierarchie/src/Identifier.cc
===================================================================
--- code/branches/objecthierarchie/src/Identifier.cc	(revision 240)
+++ code/branches/objecthierarchie/src/Identifier.cc	(revision 241)
@@ -14,6 +14,4 @@
         this->directChildren_ = new IdentifierList;
         this->allChildren_ = new IdentifierList;
-        this->directParents_ = new IdentifierList;
-        this->allParents_ = new IdentifierList;
     }
 
@@ -24,6 +22,4 @@
         delete this->directChildren_;
         delete this->allChildren_;
-        delete this->directParents_;
-        delete this->allParents_;
     }
 
@@ -44,5 +40,5 @@
             while (temp1)
             {
-                temp2 = temp1->identifier_->directParents_->first_;
+                temp2 = temp1->identifier_->directParents_.first_;
                 while (temp2)
                 {
@@ -66,10 +62,10 @@
                 if (temp1->bDirect_)
                 {
-                    this->directParents_->add(temp1->identifier_);
-                    temp1->identifier_->directChildren_->add(this);
+                    this->directParents_.add(temp1->identifier_);
+                    temp1->identifier_->getDirectChildren().add(this);
                 }
 
-                this->allParents_->add(temp1->identifier_);
-                temp1->identifier_->allChildren_->add(this);
+                this->allParents_.add(temp1->identifier_);
+                temp1->identifier_->getAllChildren().add(this);
 
                 temp1 = temp1->next_;
@@ -80,5 +76,5 @@
     bool Identifier::isA(const Identifier* identifier) const
     {
-        return (identifier == this || this->allParents_->isInList(identifier));
+        return (identifier == this || this->allParents_.isInList(identifier));
     }
 
@@ -90,10 +86,10 @@
     bool Identifier::isChildOf(const Identifier* identifier) const
     {
-        return this->allParents_->isInList(identifier);
+        return this->allParents_.isInList(identifier);
     }
 
     bool Identifier::isDirectChildOf(const Identifier* identifier) const
     {
-        return this->directParents_->isInList(identifier);
+        return this->directParents_.isInList(identifier);
     }
 
Index: code/branches/objecthierarchie/src/Identifier.h
===================================================================
--- code/branches/objecthierarchie/src/Identifier.h	(revision 240)
+++ code/branches/objecthierarchie/src/Identifier.h	(revision 241)
@@ -39,8 +39,8 @@
 
             const std::string& getName() const { return this->name_; }
-            const IdentifierList* getDirectParents() const { return this->directParents_; }
-            const IdentifierList* getAllParents() const { return this->allParents_; }
-            const IdentifierList* getDirectChildren() const { return this->directChildren_; }
-            const IdentifierList* getAllChildren() const { return this->allChildren_; }
+            const IdentifierList& getDirectParents() const { return this->directParents_; }
+            const IdentifierList& getAllParents() const { return this->allParents_; }
+            IdentifierList& getDirectChildren() const { return *this->directChildren_; }
+            IdentifierList& getAllChildren() const { return *this->allChildren_; }
 
             static bool isCreatingHierarchy() { return (hierarchyCreatingCounter_s > 0); }
@@ -68,6 +68,6 @@
             }
 
-            IdentifierList* directParents_;
-            IdentifierList* allParents_;
+            IdentifierList directParents_;
+            IdentifierList allParents_;
             IdentifierList* directChildren_;
             IdentifierList* allChildren_;
@@ -221,5 +221,5 @@
         this->objects_->remove(object, bIterateForwards);
 
-        IdentifierListElement* temp = this->directParents_->first_;
+        IdentifierListElement* temp = this->directParents_.first_;
         while (temp)
         {
Index: code/branches/objecthierarchie/src/IdentifierList.cc
===================================================================
--- code/branches/objecthierarchie/src/IdentifierList.cc	(revision 240)
+++ code/branches/objecthierarchie/src/IdentifierList.cc	(revision 241)
@@ -60,5 +60,5 @@
     }
 
-    bool IdentifierList::isInList(const Identifier* identifier)
+    bool IdentifierList::isInList(const Identifier* identifier) const
     {
         IdentifierListElement* temp = this->first_;
Index: code/branches/objecthierarchie/src/IdentifierList.h
===================================================================
--- code/branches/objecthierarchie/src/IdentifierList.h	(revision 240)
+++ code/branches/objecthierarchie/src/IdentifierList.h	(revision 241)
@@ -26,5 +26,5 @@
             void add(const Identifier* identifier);
             void remove(const Identifier* identifier);
-            bool isInList(const Identifier* identifier);
+            bool isInList(const Identifier* identifier) const;
             std::string toString() const;
 
