def add_imported_namespace(self,<EOL>namespace,<EOL>imported_alias=False,<EOL>imported_data_type=False,<EOL>imported_annotation=False,<EOL>imported_annotation_type=False):<EOL>
assert self.name != namespace.name,'<STR_LIT>'<EOL>reason = self._imported_namespaces.setdefault(namespace, _ImportReason())<EOL>if imported_alias:<EOL><INDENT>reason.alias = True<EOL><DEDENT>if imported_data_type:<EOL><INDENT>reason.data_type = True<EOL><DEDENT>if imported_annotation:<EOL><INDENT>reason.annotation = True<EOL><DEDENT>if imported_annotation_type:<EOL><INDENT>reason.annotation_type = True<EOL><DEDENT>
Keeps track of namespaces that this namespace imports.

Args:
    namespace (Namespace): The imported namespace.
    imported_alias (bool): Set if this namespace references an alias
        in the imported namespace.
    imported_data_type (bool): Set if this namespace references a
        data type in the imported namespace.
    imported_annotation (bool): Set if this namespace references a
        annotation in the imported namespace.
    imported_annotation_type (bool): Set if this namespace references an
        annotation in the imported namespace, possibly indirectly (by
        referencing an annotation elsewhere that has this type).