'Given a destination ID or tag, return the JobDestination matching the provided ID or tag
:param id_or_tag: A destination ID or tag.
:type id_or_tag: str
:returns: JobDestination -- A valid destination
Destinations are deepcopied as they are expected to be passed in to job
runners, which will modify them for persisting params set at runtime.'

def get_destination(self, id_or_tag):

    if (id_or_tag is None):
        id_or_tag = self.default_destination_id
    return copy.deepcopy(self._get_single_item(self.destinations[id_or_tag]))
