def get_enclosed_object(self):
if self._enclosed_object is None:<EOL><INDENT>enclosed_object_id = self.get_enclosed_object_id()<EOL>package_name = enclosed_object_id.get_identifier_namespace().split('<STR_LIT:.>')[<NUM_LIT:0>]<EOL>obj_name = enclosed_object_id.get_identifier_namespace().split('<STR_LIT:.>')[<NUM_LIT:1>]<EOL>mgr = self.my_osid_object._get_provider_manager(package_name.upper())<EOL>try:<EOL><INDENT>lookup_session = getattr(mgr, '<STR_LIT>' + obj_name.lower() + '<STR_LIT>')(self.my_osid_object._proxy)<EOL><DEDENT>except TypeError:<EOL><INDENT>lookup_session = getattr(mgr, '<STR_LIT>' + obj_name.lower() + '<STR_LIT>')()<EOL><DEDENT>getattr(lookup_session, '<STR_LIT>' + CATALOG_LOOKUP[package_name] + '<STR_LIT>')()<EOL>self._enclosed_object = getattr(<EOL>lookup_session, '<STR_LIT>' + obj_name.lower())(enclosed_object_id)<EOL><DEDENT>return self._enclosed_object<EOL>
Return the enclosed object