@Override public void layerAdded(LayerCollectionEvent e) { if (isOpen()) { for (final ILayer layer : e.getAffected()) { try { layer.open(); layer.addLayerListenerRecursively(openerListener); // checking & possibly setting SRID // checkSRID(layer); } catch (LayerException ex) { LOGGER.error(I18N.tr("Cannot open layer : {0} ", layer.getName()), ex); try { layer.getParent().remove(layer); } catch (LayerException e1) { LOGGER.error(I18N.tr("Cannot remove the layer {0}", layer.getName()), ex); } } } } }