def mark_bad_pre_review(self):
        """Mark this version of the review branch as 'bad pre review'."""
        assert self.review_id_or_none() is None
        assert self.is_status_bad_pre_review() and self.is_new()

        # early out if this operation is redundant, pushing is expensive
        if self.is_status_bad_pre_review() and not self.has_new_commits():
            return

        def action():
            self._push_new(
                abdt_naming.WB_STATUS_BAD_PREREVIEW,
                None)

        self._tryloop(
            action, abdt_errident.MARK_BAD_PRE_REVIEW)
dataset/ETHPy150Open bloomberg/phabricator-tools/py/abd/abdt_branch.py/Branch.mark_bad_pre_review/operator `or` -> `and`