def METHOD_NAME(
    self,
    domain: str,
    db_name: str,
    schema_name: Optional[str] = None,
    table_name: Optional[str] = None,
) -> List[SnowflakeTag]:
    if self.config.extract_tags == TagOption.without_lineage:
        tags = self._get_tags_on_object_without_propagation(
            domain=domain,
            db_name=db_name,
            schema_name=schema_name,
            table_name=table_name,
        )
    elif self.config.extract_tags == TagOption.with_lineage:
        tags = self._get_tags_on_object_with_propagation(
            domain=domain,
            db_name=db_name,
            schema_name=schema_name,
            table_name=table_name,
        )
    else:
        tags = []
    allowed_tags = self._filter_tags(tags)
    return allowed_tags if allowed_tags else []