class VoucherSubTypeService {

    @Transactional
    public List<VoucherSubType> update(List<VoucherSubType> voucherSubTypes, BindingResult errors, RequestInfo requestInfo) {

        try {

            voucherSubTypes = fetchRelated(voucherSubTypes);

            validate(voucherSubTypes, Constants.ACTION_UPDATE, errors);

            if (errors.hasErrors()) {
                throw new CustomBindException(errors);
            }

        } catch (CustomBindException e) {

            throw new CustomBindException(errors);
        }

        return voucherSubTypeRepository.update(voucherSubTypes, requestInfo);

    }

    @Autowired public  VoucherSubTypeService(
            VoucherSubTypeRepository voucherSubTypeRepository,
            SmartValidator validator);

}