Index: vtkInformation.cxx
===================================================================
RCS file: /cvsroot/ParaView3/ParaView3/VTK/Common/vtkInformation.cxx,v
retrieving revision 1.26
diff -u -r1.26 vtkInformation.cxx
--- vtkInformation.cxx	5 Feb 2008 19:10:36 -0000	1.26
+++ vtkInformation.cxx	5 May 2008 15:56:08 -0000
@@ -257,16 +257,30 @@
 
 //----------------------------------------------------------------------------
 void vtkInformation::CopyEntry(vtkInformation* from, 
-                               vtkInformationKey* key, int)
+                               vtkInformationKey* key, int deep)
 {
-  key->ShallowCopy(from, this);
+  if (!deep)
+    {
+    key->ShallowCopy(from, this);
+    }
+  else
+    {
+    key->DeepCopy(from, this);
+    }
 }
 
 //----------------------------------------------------------------------------
 void vtkInformation::CopyEntry(vtkInformation* from, 
-                               vtkInformationDataObjectKey* key, int)
+                               vtkInformationDataObjectKey* key, int deep)
 {
-  key->ShallowCopy(from, this);
+  if (!deep)
+    {
+    key->ShallowCopy(from, this);
+    }
+  else
+    {
+    key->DeepCopy(from, this);
+    }
 }
 
 //----------------------------------------------------------------------------
@@ -300,51 +314,100 @@
 
 //----------------------------------------------------------------------------
 void vtkInformation::CopyEntry(vtkInformation* from, 
-                               vtkInformationIntegerKey* key, int)
+                               vtkInformationIntegerKey* key, int deep)
 {
-  key->ShallowCopy(from, this);
+  if (!deep)
+    {
+    key->ShallowCopy(from, this);
+    }
+  else
+    {
+    key->DeepCopy(from, this);
+    }
 }
 
 //----------------------------------------------------------------------------
 void vtkInformation::CopyEntry(vtkInformation* from, 
-                               vtkInformationRequestKey* key, int)
+                               vtkInformationRequestKey* key, int deep)
 {
-  key->ShallowCopy(from, this);
+  if (!deep)
+    {
+    key->ShallowCopy(from, this);
+    }
+  else
+    {
+    key->DeepCopy(from, this);
+    }
 }
 
 //----------------------------------------------------------------------------
 void vtkInformation::CopyEntry(vtkInformation* from, 
-                               vtkInformationIntegerVectorKey* key, int)
+                               vtkInformationIntegerVectorKey* key, int deep)
 {
-  key->ShallowCopy(from, this);
+  if (!deep)
+    {
+    key->ShallowCopy(from, this);
+    }
+  else
+    {
+    key->DeepCopy(from, this);
+    }
 }
 
 //----------------------------------------------------------------------------
 void vtkInformation::CopyEntry(vtkInformation* from, 
-                               vtkInformationDoubleVectorKey* key, int)
+                               vtkInformationDoubleVectorKey* key, int deep)
 {
-  key->ShallowCopy(from, this);
+  if (!deep)
+    {
+    key->ShallowCopy(from, this);
+    }
+  else
+    {
+    key->DeepCopy(from, this);
+    }
 }
 
 //----------------------------------------------------------------------------
 void vtkInformation::CopyEntry(vtkInformation* from, 
-                               vtkInformationStringKey* key, int)
+                               vtkInformationStringKey* key, int deep)
 {
-  key->ShallowCopy(from, this);
+  if (!deep)
+    {
+    key->ShallowCopy(from, this);
+    }
+  else
+    {
+    key->DeepCopy(from, this);
+    }
 }
 
 //----------------------------------------------------------------------------
 void vtkInformation::CopyEntry(vtkInformation* from, 
-                               vtkInformationUnsignedLongKey* key, int)
+                               vtkInformationUnsignedLongKey* key, int deep)
 {
-  key->ShallowCopy(from, this);
+  if (!deep)
+    {
+    key->ShallowCopy(from, this);
+    }
+  else
+    {
+    key->DeepCopy(from, this);
+    }
 }
 
 //----------------------------------------------------------------------------
 void vtkInformation::CopyEntry(vtkInformation* from, 
-                               vtkInformationStringVectorKey* key, int)
+                               vtkInformationStringVectorKey* key, int deep)
 {
-  key->ShallowCopy(from, this);
+  if (!deep)
+    {
+    key->ShallowCopy(from, this);
+    }
+  else
+    {
+    key->DeepCopy(from, this);
+    }
 }
 
 //----------------------------------------------------------------------------
