@Override
public void paintOverlay(LayerCanvas canvas, Rendering rendering) {
for (final NestWorldMapPaneDataModel.Boundary extraGeoBoundary : dataModel.getAdditionalGeoBoundaries()) {
drawGeoBoundary(rendering.getGraphics(), assemblePathList(extraGeoBoundary.geoBoundary),
extraGeoBoundary.isClosed, transWhiteColor, borderWhiteColor);
}
for (final NestWorldMapPaneDataModel.Boundary selectGeoBoundary : dataModel.getSelectedGeoBoundaries()) {
drawGeoBoundary(rendering.getGraphics(), assemblePathList(selectGeoBoundary.geoBoundary),
selectGeoBoundary.isClosed, transRedColor, borderRedColor);
}
final Product selectedProduct = dataModel.getSelectedProduct();
for (final Product product : dataModel.getProducts()) {
if (product != null && selectedProduct != product) {
drawProduct(rendering.getGraphics(), product, transWhiteColor, Color.WHITE);
}
}
if (selectedProduct != null) {
drawProduct(rendering.getGraphics(), selectedProduct, transWhiteColor, Color.RED);
}
final NestWorldMapPaneDataModel.Boundary selectionBox = dataModel.getSelectionBoundary();
drawGeoBoundary(rendering.getGraphics(), assemblePathList(selectionBox.geoBoundary),
selectionBox.isClosed, selectionFillColor, selectionBorderColor);
}