def get_source(self):
<EOL>if not bool(self._my_map['<STR_LIT>']):<EOL><INDENT>raise errors.IllegalState('<STR_LIT>')<EOL><DEDENT>mgr = self._get_provider_manager('<STR_LIT>')<EOL>if not mgr.supports_resource_lookup():<EOL><INDENT>raise errors.OperationFailed('<STR_LIT>')<EOL><DEDENT>lookup_session = mgr.get_resource_lookup_session(proxy=getattr(self, "<STR_LIT>", None))<EOL>lookup_session.use_federated_bin_view()<EOL>osid_object = lookup_session.get_resource(self.get_source_id())<EOL>return osid_object<EOL>
Gets the ``Resource`` of the source of this asset.

        The source is the original owner of the copyright of this asset
        and may differ from the creator of this asset. The source for a
        published book written by Margaret Mitchell would be Macmillan.
        The source for an unpublished painting by Arthur Goodwin would
        be Arthur Goodwin.

        return: (osid.resource.Resource) - the source
        *compliance: mandatory -- This method must be implemented.*