def get_one_by_udi(self, correlation_id: Optional[str], udi: Any) -> T:

    item = self._collection.find_one({'udi': udi})

    if item is None:
        self._logger.trace(correlation_id, "Nothing found from %s with udi = %s", self._collection_name, udi)
    else:
        self._logger.trace(correlation_id, "Retrieved from %s with udi = %s", self._collection_name, udi)

    item = self._convert_to_public(item)

    return item