Index: /branches/eam_branches/20091201/psLib/src/types/psMetadata.c
===================================================================
--- /branches/eam_branches/20091201/psLib/src/types/psMetadata.c	(revision 26412)
+++ /branches/eam_branches/20091201/psLib/src/types/psMetadata.c	(revision 26413)
@@ -622,5 +622,6 @@
 
 // may need to extend this to change the keyname in the copy
-bool psMetadataItemSupplement(psMetadata *out,
+bool psMetadataItemSupplement(bool *status, 
+			      psMetadata *out,
                               const psMetadata *in,
                               const char *key)
@@ -632,5 +633,9 @@
     psMetadataItem *item = psMetadataLookup(in, key);
     if (!item) {
-        psError(PS_ERR_BAD_PARAMETER_VALUE, true, "Could not find '%s' in metadata.\n", key);
+	if (status) {
+	    *status = false;
+	} else {
+	    psError(PS_ERR_BAD_PARAMETER_VALUE, true, "Could not find '%s' in metadata.\n", key);
+	}
         return false;
     }
Index: /branches/eam_branches/20091201/psLib/src/types/psMetadata.h
===================================================================
--- /branches/eam_branches/20091201/psLib/src/types/psMetadata.h	(revision 26412)
+++ /branches/eam_branches/20091201/psLib/src/types/psMetadata.h	(revision 26413)
@@ -545,4 +545,5 @@
  */
 bool psMetadataItemSupplement(
+    bool *status,			///< if supplied, returns true/false if key is found (suppresses the error)
     psMetadata *out,                   ///< output Metadata container for copying.
     const psMetadata *in,              ///< Metadata collection from which to copy.
