def METHOD_NAME(self) -> None:
    if not self.state_to_commit:
        logger.warning(f"No state available to commit for {self.name}")
        return None
    for job_name, checkpoint in self.state_to_commit.items():
        # Emit the ingestion state for each job
        logger.debug(
            f"Committing ingestion checkpoint for pipeline:'{checkpoint.pipelineName}', "
            f"job:'{job_name}'"
        )
        self.committed = False
        datajob_urn = self.get_data_job_urn(
            self.orchestrator_name,
            checkpoint.pipelineName,
            job_name,
        )
        # We don't want the state payloads to show up in search. As such, we emit the
        # dataJob aspects as soft-deleted. This doesn't affect the ability to query
        # them using the timeseries API.
        self.graph.soft_delete_entity(
            urn=datajob_urn,
        )
        self.graph.emit_mcp(
            MetadataChangeProposalWrapper(
                entityUrn=datajob_urn,
                aspect=checkpoint,
            )
        )
        self.committed = True
        logger.debug(
            f"Committed ingestion checkpoint for pipeline:'{checkpoint.pipelineName}', "
            f"job:'{job_name}'"
        )