def _create_orchestrated_cat(self, foreign_catalog_id, db_name, cat_name):
if (foreign_catalog_id.identifier_namespace == db_name + '<STR_LIT:.>' + cat_name and<EOL>foreign_catalog_id.authority == self._authority):<EOL><INDENT>raise errors.NotFound()  <EOL><DEDENT>foreign_service_name = foreign_catalog_id.get_identifier_namespace().split('<STR_LIT:.>')[<NUM_LIT:0>]<EOL>catalog_name = camel_to_under(foreign_catalog_id.namespace.split('<STR_LIT:.>')[<NUM_LIT:1>])<EOL>manager = self._get_provider_manager(foreign_service_name.upper())<EOL>lookup_session = getattr(manager, '<STR_LIT>'.format(catalog_name))(proxy=self._proxy)<EOL>getattr(lookup_session, '<STR_LIT>'.format(catalog_name))(foreign_catalog_id)  <EOL>collection = JSONClientValidated(db_name,<EOL>collection=cat_name,<EOL>runtime=self._runtime)<EOL>foreign_identifier = ObjectId(foreign_catalog_id.get_identifier())<EOL>default_text = '<STR_LIT>' + foreign_service_name<EOL>catalog_map = make_catalog_map(cat_name, identifier=foreign_identifier, default_text=default_text)<EOL>collection.insert_one(catalog_map)<EOL>alias_id = Id(identifier=foreign_catalog_id.identifier,<EOL>namespace=db_name + '<STR_LIT:.>' + cat_name,<EOL>authority=self._authority)<EOL>try:<EOL><INDENT>admin_session = getattr(manager, '<STR_LIT>'.format(catalog_name))(proxy=self._proxy)<EOL>getattr(admin_session, '<STR_LIT>'.format(catalog_name))(foreign_catalog_id, alias_id)<EOL><DEDENT>except (errors.Unimplemented, AttributeError):<EOL><INDENT>pass<EOL><DEDENT>return catalog_map<EOL>
Creates a catalog in the current service orchestrated with a foreign service Id.