docs: @PostConstruct
  	protected void initFeatures() throws LayerException {
  		crs = geoService.getCrs2(layerInfo.getCrs());
  		try {
  			setFeatureSourceName(layerInfo.getFeatureInfo().getDataSourceName());
  			featureModel = new ShapeInMemFeatureModel(getDataStore(), layerInfo.getFeatureInfo().getDataSourceName(),
  					geoService.getSridFromCrs(layerInfo.getCrs()), converterService);
  			featureModel.setLayerInfo(layerInfo);
  			FeatureCollection<SimpleFeatureType, SimpleFeature> col = getFeatureSource().getFeatures();
  			FeatureIterator<SimpleFeature> iterator = col.features();
  			int lastIndex = 0;
  			while (iterator.hasNext()) {
  				SimpleFeature feature = iterator.next();
  				String id = featureModel.getId(feature);
  				features.put(id, feature);
  				int intId = Integer.parseInt(id.substring(id.lastIndexOf('.') + 1));
  				if (intId > lastIndex) {
  					lastIndex = intId;
  				}
  			}
  			iterator.close();
  			((ShapeInMemFeatureModel) featureModel).setNextId(++lastIndex);
  		} catch (NumberFormatException nfe) {
  			throw new LayerException(nfe, ExceptionCode.FEATURE_MODEL_PROBLEM, url);
  		} catch (MalformedURLException e) {
  			throw new LayerException(e, ExceptionCode.INVALID_SHAPE_FILE_URL, url);
  		} catch (IOException ioe) {
  			throw new LayerException(ioe, ExceptionCode.CANNOT_CREATE_LAYER_MODEL, url);
  		} catch (GeomajasException ge) {
  			throw new LayerException(ge, ExceptionCode.CANNOT_CREATE_LAYER_MODEL, url);
  		}
  	}