class ReadableZonePopulator extends AbstractDataPopulator<Zone, ReadableZone> {

	@Override
	public ReadableZone populate(Zone source, ReadableZone target, MerchantStore store, Language language)
			throws ConversionException {<FILL_FUNCTION_BODY>}

	@Override
	protected ReadableZone createTarget() {
		// TODO Auto-generated method stub
		return null;
	}

}

		if(target==null) {
			target = new ReadableZone();
		}
		
		target.setId(source.getId());
		target.setCode(source.getCode());
		target.setCountryCode(source.getCountry().getIsoCode());
		
		if(!CollectionUtils.isEmpty(source.getDescriptions())) {
			for(ZoneDescription d : source.getDescriptions()) {
				if(d.getLanguage().getId() == language.getId()) {
					target.setName(d.getName());
					continue;
				}
			}
		}
		
		return target;
		
	
<methods>public non-sealed void <init>() ,public java.util.Locale getLocale() ,public com.salesmanager.shop.model.references.ReadableZone populate(com.salesmanager.core.model.reference.zone.Zone, com.salesmanager.core.model.merchant.MerchantStore, com.salesmanager.core.model.reference.language.Language) throws com.salesmanager.core.business.exception.ConversionException,public void setLocale(java.util.Locale) <variables>private java.util.Locale locale