def METHOD_NAME(self, domain_name: str) -> Builder:
    """
    Returns a builder given a domain name it's been published for.
    :param domain_name: The domain name we want the builder for.
    :raise BuilderDoesNotExist: When no builder is published with this domain name.
    :return: A public builder instance.
    """
    try:
        domain = (
            Domain.objects.exclude(published_to=None)
            .select_related("published_to", "builder")
            .only("published_to", "builder")
            .get(domain_name=domain_name)
        )
    except Domain.DoesNotExist:
        raise BuilderDoesNotExist()
    if TrashHandler.item_has_a_trashed_parent(domain, check_item_also=True):
        raise BuilderDoesNotExist()
    return domain.published_to