docs: def ReadCronJobs(self, cronjob_ids=None):
      """Reads a cronjob from the database."""
      if cronjob_ids is None:
        res = [job.Copy() for job in itervalues(self.cronjobs)]
  
      else:
        res = []
        for job_id in cronjob_ids:
          try:
            res.append(self.cronjobs[job_id].Copy())
          except KeyError:
            raise db.UnknownCronJobError("Cron job with id %s not found." %
                                         job_id)
  
      for job in res:
        lease = self.cronjob_leases.get(job.cron_job_id)
        if lease:
          job.leased_until, job.leased_by = lease
      return res