def afterRetrieveModifier(obj, repo_clone, preserve=()):
    """Modifies the object after being retrieved from the repos storage.

        Postprocesses the copy of an objects version after it has been
        retrieved from the repositories storage. The repository copy is a
        reference to an unwrapped deep copy of a version previously
        saved to the repositories storage.

        Usually this hook is used to do one or more of the following
        tasks:

            - readd data that was removed by the 'beforeSaveHook'
            - manipulate data before it get restored
            - return data that gets overwritte in this process

        It does kind of the inverse of the method ``beforeSaveModifier``.

        'obj' may be None. This signifies there is no working copy object.

        Returns:

        - a list of references to be deleted on revert (providing
          ``IReferenceAdapter``)
        - a list of attribute names beeing in charge of holding reference
          information (e.g. an ObjectManager with ``doc1`` and ``doc2``
          as childrens: ['_objects', 'doc1', 'doc2'])
        - a dictionary of the data having been preserved from beeing
          overwritten.
        """
