diff --git a/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBase.H b/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBase.H
index 8fd2c55bc19592d8f3caf2876efccc29b5aa5e16..33df2b87c711a76b3e6517a7e106947490f735ef 100644
--- a/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBase.H
+++ b/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBase.H
@@ -167,6 +167,9 @@ public:
             //- Clear the list
             inline void clear();
 
+            //- Transfer the contents of the argument into this List
+            //  and annull the argument list.
+            inline void transfer(DLListBase&);
 
     // STL iterator
 
diff --git a/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBaseI.H b/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBaseI.H
index a29bb1c38a5c1b5b1afee626504ff9624fe13e29..a9414fa3876c6adaacabaf664043694bac9f357d 100644
--- a/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBaseI.H
+++ b/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBaseI.H
@@ -81,7 +81,8 @@ inline Foam::label Foam::DLListBase::size() const
 }
 
 
-inline Foam::DLListBase::link* Foam::DLListBase::first()
+inline Foam::DLListBase::link*
+Foam::DLListBase::first()
 {
     if (!nElmts_)
     {
@@ -93,7 +94,8 @@ inline Foam::DLListBase::link* Foam::DLListBase::first()
 }
 
 
-inline const Foam::DLListBase::link* Foam::DLListBase::first() const
+inline const Foam::DLListBase::link*
+Foam::DLListBase::first() const
 {
     if (!nElmts_)
     {
@@ -105,7 +107,8 @@ inline const Foam::DLListBase::link* Foam::DLListBase::first() const
 }
 
 
-inline Foam::DLListBase::link* Foam::DLListBase::last()
+inline Foam::DLListBase::link*
+Foam::DLListBase::last()
 {
     if (!nElmts_)
     {
@@ -117,7 +120,8 @@ inline Foam::DLListBase::link* Foam::DLListBase::last()
 }
 
 
-inline const Foam::DLListBase::link* Foam::DLListBase::last() const
+inline const Foam::DLListBase::link*
+Foam::DLListBase::last() const
 {
     if (!nElmts_)
     {
@@ -131,13 +135,24 @@ inline const Foam::DLListBase::link* Foam::DLListBase::last() const
 
 inline void Foam::DLListBase::clear()
 {
-    nElmts_ = 0;
     first_ = 0;
-    last_ = 0;
+    last_  = 0;
+    nElmts_ = 0;
+}
+
+
+inline void Foam::DLListBase::transfer(DLListBase& lst)
+{
+    first_  = lst.first_;
+    last_   = lst.last_;
+    nElmts_ = lst.nElmts_;
+
+    lst.clear();
 }
 
 
-inline Foam::DLListBase::link* Foam::DLListBase::remove
+inline Foam::DLListBase::link*
+Foam::DLListBase::remove
 (
     DLListBase::iterator& it
 )
@@ -146,7 +161,8 @@ inline Foam::DLListBase::link* Foam::DLListBase::remove
 }
 
 
-inline Foam::DLListBase::link* Foam::DLListBase::replace
+inline Foam::DLListBase::link*
+Foam::DLListBase::replace
 (
     DLListBase::iterator& oldIter,
     DLListBase::link* newLink
@@ -193,13 +209,15 @@ inline bool Foam::DLListBase::iterator::operator!=(const iterator& iter) const
 }
 
 
-inline Foam::DLListBase::link& Foam::DLListBase::iterator::operator*()
+inline Foam::DLListBase::link&
+Foam::DLListBase::iterator::operator*()
 {
     return *curElmt_;
 }
 
 
-inline Foam::DLListBase::iterator& Foam::DLListBase::iterator::operator++()
+inline Foam::DLListBase::iterator&
+Foam::DLListBase::iterator::operator++()
 {
     // Check if the curElmt_ is the last element (if it points to itself)
     // or if the list is empty because the last element may have been removed
@@ -217,7 +235,8 @@ inline Foam::DLListBase::iterator& Foam::DLListBase::iterator::operator++()
 }
 
 
-inline Foam::DLListBase::iterator Foam::DLListBase::iterator::operator++(int)
+inline Foam::DLListBase::iterator
+Foam::DLListBase::iterator::operator++(int)
 {
     iterator tmp = *this;
     ++*this;
@@ -225,7 +244,8 @@ inline Foam::DLListBase::iterator Foam::DLListBase::iterator::operator++(int)
 }
 
 
-inline Foam::DLListBase::iterator Foam::DLListBase::begin()
+inline Foam::DLListBase::iterator
+Foam::DLListBase::begin()
 {
     if (size())
     {
@@ -291,7 +311,8 @@ inline bool Foam::DLListBase::const_iterator::operator!=
 }
 
 
-inline const Foam::DLListBase::link& DLListBase::const_iterator::operator*()
+inline const Foam::DLListBase::link&
+Foam::DLListBase::const_iterator::operator*()
 {
     return *curElmt_;
 }
@@ -322,7 +343,8 @@ Foam::DLListBase::const_iterator::operator++(int)
 }
 
 
-inline Foam::DLListBase::const_iterator Foam::DLListBase::begin() const
+inline Foam::DLListBase::const_iterator
+Foam::DLListBase::begin() const
 {
     if (size())
     {
@@ -335,7 +357,8 @@ inline Foam::DLListBase::const_iterator Foam::DLListBase::begin() const
 }
 
 
-inline const Foam::DLListBase::const_iterator& Foam::DLListBase::end() const
+inline const Foam::DLListBase::const_iterator&
+Foam::DLListBase::end() const
 {
     return endConstIter;
 }
diff --git a/src/OpenFOAM/containers/LinkedLists/linkTypes/SLListBase/SLListBase.H b/src/OpenFOAM/containers/LinkedLists/linkTypes/SLListBase/SLListBase.H
index cfd8afe4a902a72b65fb72ac96bcd1c958982423..f802e6914297e6110498d54c04a64682fc2ba261 100644
--- a/src/OpenFOAM/containers/LinkedLists/linkTypes/SLListBase/SLListBase.H
+++ b/src/OpenFOAM/containers/LinkedLists/linkTypes/SLListBase/SLListBase.H
@@ -152,6 +152,9 @@ public:
             //- Clear the list
             inline void clear();
 
+            //- Transfer the contents of the argument into this List
+            //  and annull the argument list.
+            inline void transfer(SLListBase&);
 
     // STL iterator
 
diff --git a/src/OpenFOAM/containers/LinkedLists/linkTypes/SLListBase/SLListBaseI.H b/src/OpenFOAM/containers/LinkedLists/linkTypes/SLListBase/SLListBaseI.H
index bfe0d8aa74583afa025d808894fdff6955c9206c..594fc6f098f151e8fde2397ae65cbc613e9cdc49 100644
--- a/src/OpenFOAM/containers/LinkedLists/linkTypes/SLListBase/SLListBaseI.H
+++ b/src/OpenFOAM/containers/LinkedLists/linkTypes/SLListBase/SLListBaseI.H
@@ -71,7 +71,8 @@ inline Foam::label Foam::SLListBase::size() const
 }
 
 
-inline Foam::SLListBase::link* Foam::SLListBase::first()
+inline Foam::SLListBase::link*
+Foam::SLListBase::first()
 {
     if (!nElmts_)
     {
@@ -83,7 +84,8 @@ inline Foam::SLListBase::link* Foam::SLListBase::first()
 }
 
 
-inline const Foam::SLListBase::link* Foam::SLListBase::first() const
+inline const Foam::SLListBase::link*
+Foam::SLListBase::first() const
 {
     if (!nElmts_)
     {
@@ -95,7 +97,8 @@ inline const Foam::SLListBase::link* Foam::SLListBase::first() const
 }
 
 
-inline Foam::SLListBase::link* Foam::SLListBase::last()
+inline Foam::SLListBase::link*
+Foam::SLListBase::last()
 {
     if (!nElmts_)
     {
@@ -107,7 +110,8 @@ inline Foam::SLListBase::link* Foam::SLListBase::last()
 }
 
 
-inline const Foam::SLListBase::link* Foam::SLListBase::last() const
+inline const Foam::SLListBase::link*
+Foam::SLListBase::last() const
 {
     if (!nElmts_)
     {
@@ -121,8 +125,17 @@ inline const Foam::SLListBase::link* Foam::SLListBase::last() const
 
 inline void Foam::SLListBase::clear()
 {
-    nElmts_ = 0;
     last_ = 0;
+    nElmts_ = 0;
+}
+
+
+inline void Foam::SLListBase::transfer(SLListBase& lst)
+{
+    last_   = lst.last_;
+    nElmts_ = lst.nElmts_;
+
+    lst.clear();
 }
 
 
@@ -194,7 +207,8 @@ inline Foam::SLListBase::iterator& Foam::SLListBase::iterator::operator++()
 }
 
 
-inline Foam::SLListBase::iterator Foam::SLListBase::iterator::operator++(int)
+inline Foam::SLListBase::iterator
+Foam::SLListBase::iterator::operator++(int)
 {
     iterator tmp = *this;
     ++*this;
@@ -202,7 +216,8 @@ inline Foam::SLListBase::iterator Foam::SLListBase::iterator::operator++(int)
 }
 
 
-inline Foam::SLListBase::iterator Foam::SLListBase::begin()
+inline Foam::SLListBase::iterator
+Foam::SLListBase::begin()
 {
     if (size())
     {
@@ -215,7 +230,8 @@ inline Foam::SLListBase::iterator Foam::SLListBase::begin()
 }
 
 
-inline const Foam::SLListBase::iterator& Foam::SLListBase::end()
+inline const Foam::SLListBase::iterator&
+Foam::SLListBase::end()
 {
     return endIter;
 }
@@ -268,7 +284,8 @@ inline bool Foam::SLListBase::const_iterator::operator!=
 }
 
 
-inline const Foam::SLListBase::link& SLListBase::const_iterator::operator*()
+inline const Foam::SLListBase::link&
+Foam::SLListBase::const_iterator::operator*()
 {
     return *curElmt_;
 }
@@ -299,7 +316,8 @@ Foam::SLListBase::const_iterator::operator++(int)
 }
 
 
-inline Foam::SLListBase::const_iterator Foam::SLListBase::begin() const
+inline Foam::SLListBase::const_iterator
+Foam::SLListBase::begin() const
 {
     if (size())
     {
@@ -312,7 +330,8 @@ inline Foam::SLListBase::const_iterator Foam::SLListBase::begin() const
 }
 
 
-inline const Foam::SLListBase::const_iterator& Foam::SLListBase::end() const
+inline const Foam::SLListBase::const_iterator&
+Foam::SLListBase::end() const
 {
     return endConstIter;
 }