def METHOD_NAME(self, exclude: Optional[Set[str]] = None) -> Set[str]:
    # A small trick to exclude private properties. Properties are serialized by pydantic,
    # regardless if they start with an underscore.
    # This will look at the dict, and find the fields and exclude them
    return set.union(
        {field for field in self.__dict__ if field.startswith("_") and not field == "__root__"}, exclude or set()
    )