/**
   * Creates simple store.
   *
   * @param country The store country.
   * @param name The store name.
   * @param storeType The StoreType value.
   * @param subCountry The province or state.
   * @param url The store URL.
   * @param timeZone The store time zone.
   * @param code The unique store code.
   * @param emailSenderName The email sender name.
   * @param emailSenderAddress The email sender address.
   * @param storeAdminEmailAddress The admin email address.
   * @param catalog The store default catalog.
   * @param defaultLocale The default locale.
   * @param defaultCurrency The default currency of the store.
   * @return The newly persisted store.
   */
  public Store createStore(
      final String country,
      final String name,
      final StoreType storeType,
      final String subCountry,
      final String url,
      final TimeZone timeZone,
      final String code,
      final String emailSenderName,
      final String emailSenderAddress,
      final String storeAdminEmailAddress,
      final Catalog catalog,
      final Locale defaultLocale,
      final Currency defaultCurrency) {

    final Store store = getBeanFactory().getBean(ContextIdNames.STORE);
    store.setCountry(country);
    store.setName(name);
    store.setStoreType(storeType);
    store.setSubCountry(subCountry);
    store.setUrl(url);
    store.setTimeZone(timeZone);
    store.setCode(Utils.uniqueCode(code));
    store.setEmailSenderName(emailSenderName);
    store.setEmailSenderAddress(emailSenderAddress);
    store.setStoreAdminEmailAddress(storeAdminEmailAddress);
    store.setCatalog(catalog);
    store.setDefaultLocale(defaultLocale);
    store.setDefaultCurrency(defaultCurrency);

    return store;
  }