def METHOD_NAME(obj):
    """Check if the given object should be indexed in portal catalog
    """
    # catalog objects appeared here?
    if not api.is_object(obj):
        return False
    # already handled in our catalog multiplex processor
    if IMultiCatalogBehavior.providedBy(obj):
        # BBB: Fallback for unset catalogs mapping, e.g. for DataBoxes
        catalogs = getattr(obj, "_catalogs", [])
        if len(catalogs) == 0:
            return True
        return False
    # check our static mapping from setuphandlers
    portal_type = api.get_portal_type(obj)
    catalogs = CATALOG_MAP.get(portal_type)
    if isinstance(catalogs, list) and PORTAL_CATALOG not in catalogs:
        return False
    # check archetype tool if we have an AT content type
    if api.is_at_type(obj):
        att = api.get_tool("archetype_tool", default=None)
        catalogs = att.catalog_map.get(portal_type) if att else None
        if isinstance(catalogs, list) and PORTAL_CATALOG not in catalogs:
            return False
    # all other contents (folders etc.) can be indexed in portal_catalog
    return True