The problem is that, `jobService.listJobExecutions` is limited to `pageSize`. With what it returns as the list of core batch `JobExecution`, we may not know if the job instance is `COMPLETED`. We needed an additional call to know all the job executions for the given job instance to know the status of the `JobInstance`. 
Handling this in `JobService` requires changes to the core object `JobExecution` and we construct all the necessary properties at the domain object `JobExecutionInfo`. In our case, setting `restartable` flag is only needed in the UI and the actual JobExecution object still needs to have it's state maintained. Hence, I decided to go this route.