code: protected ServerLayer<?> createLayer(MapConfiguration mapConfiguration, ClientLayerInfo layerInfo,
  			ViewPort viewPort, MapEventBus eventBus) {
  		ServerLayer<?> layer = null;
  		switch (layerInfo.getLayerType()) {
  			case RASTER:
  				layer = new RasterServerLayerImpl(mapConfiguration, (ClientRasterLayerInfo) layerInfo, viewPort,
  						eventBus);
  				break;
  			default:
  				layer = new VectorServerLayerImpl(mapConfiguration, (ClientVectorLayerInfo) layerInfo, viewPort,
  						eventBus);
  				break;
  		}
  		return layer;
  	}
docs: Create a new layer, based upon a server-side layer configuration object.
  
  @param mapConfiguration The map configuration.
  @param layerInfo The server-side configuration object.
  @param viewPort The map viewport.
  @param eventBus The map eventBus.
  @return The new layer object. It has NOT been added to the map just yet.