wrapWithMetadata
Uses the given ComponentContext to add metadata to a wrapper exception (if the wrapper doesn't already exist) and return it.
Uses the given ComponentTree to add metadata to a wrapper exception (if the wrapper doesn't already exist) and return it.