class SurrenderReasonController {

    @PostMapping("/_delete")
    @ResponseStatus(HttpStatus.CREATED)
    public SurrenderReasonResponse delete(@RequestBody SurrenderReasonRequest surrenderReasonRequest,
            BindingResult errors) {

        SurrenderReasonMapper mapper = new SurrenderReasonMapper();
        surrenderReasonRequest.getRequestInfo().setAction(ACTION_DELETE);
        SurrenderReasonResponse surrenderReasonResponse = new SurrenderReasonResponse();
        List<SurrenderReason> surrenderreasons = new ArrayList<>();
        surrenderReasonResponse.setResponseInfo(getResponseInfo(surrenderReasonRequest.getRequestInfo()));
        SurrenderReason surrenderReason;
        SurrenderReasonContract contract;
        List<SurrenderReasonContract> surrenderReasonContracts = new ArrayList<>();

        for (SurrenderReasonContract surrenderReasonContract : surrenderReasonRequest.getSurrenderReasons()) {
            surrenderReason = mapper.toDomain(surrenderReasonContract);
            surrenderreasons.add(surrenderReason);
        }

        surrenderreasons = surrenderReasonService.delete(surrenderreasons, errors,
                surrenderReasonRequest.getRequestInfo());

        for (SurrenderReason sr : surrenderreasons) {
            contract = mapper.toContract(sr);
            surrenderReasonContracts.add(contract);
        }
        surrenderReasonResponse.setSurrenderReasons(surrenderReasonContracts);

        return surrenderReasonResponse;
    }

}