def obj_for(self, obj_or_name: Union[str, Element]) -> Optional[Union[str, Element]]:
        """ Return the class, slot or type that represents name or name itself if it is a builtin

        @param obj_or_name: Object or name
        @return: Corresponding element or None if not found (most likely cause is that it is a builtin type)
        """
        name = obj_or_name.name if isinstance(obj_or_name, Element) else obj_or_name
        return self.schema.classes[name] if name in self.schema.classes \
            else self.schema.slots[name] if name in self.schema.slots \
            else self.schema.types[name] if name in self.schema.types else name if name in builtin_names \
            else None
def obj_for ( self , obj_or_name : Union [ str , Element ] ) -> Optional [ Union [ str , Element ] ] : name = obj_or_name . name if isinstance ( obj_or_name , Element ) else obj_or_name return self . schema . classes [ name ] if name in self . schema . classes else self . schema . slots [ name ] if name in self . schema . slots else self . schema . types [ name ] if name in self . schema . types else name if name in builtin_names else None
Return the class, slot or type that represents name or name itself if it is a builtin

        @param obj_or_name: Object or name
        @return: Corresponding element or None if not found (most likely cause is that it is a builtin type)