@Override
  public PerformResult executeCatalogSyncJob(final String catalog) {
    final MultipleCatalogsSyncCronJobModel cronJobModel = getCronJobIfExists(catalog);

    getModelService().save(cronJobModel);

    cronJobService.performCronJob(cronJobModel, true);
    return new PerformResult(cronJobModel.getResult(), cronJobModel.getStatus());
  }
  protected MultipleCatalogsSyncCronJobModel getCronJobIfExists(final String catalog) {
    final MultipleCatalogsSyncCronJobModel example = new MultipleCatalogsSyncCronJobModel();
    example.setCode(catalog + CRON_JOB_SUBFIX);

    final MultipleCatalogsSyncCronJobModel cronJobModel =
        flexibleSearchService.getModelByExample(example);

    Preconditions.checkNotNull(cronJobModel);

    return cronJobModel;
  }