@Override
  protected void addToolsAndCommands() {
    this.addNodeTool =
        new CadastreRedefinitionAddNodeTool(
            this.getPojoDataAccess(),
            this.cadastreObjectNodeModifiedLayer,
            this.cadastreObjectModifiedLayer);
    this.getMap().addTool(this.addNodeTool, this.getToolbar(), true);
    this.modifyNodeTool =
        new CadastreRedefinitionModifyNodeTool(
            this.getPojoDataAccess(),
            this.cadastreObjectNodeModifiedLayer,
            this.cadastreObjectModifiedLayer);
    this.getMap().addTool(this.modifyNodeTool, this.getToolbar(), true);

    this.getMap().addMapAction(new CadastreRedefinitionReset(this), this.getToolbar(), true);
    this.boundarySelectTool =
        new CadastreRedefinitionBoundarySelectTool(
            this.getPojoDataAccess(),
            this.cadastreBoundaryPointLayer,
            this.cadastreObjectModifiedLayer,
            this.cadastreObjectNodeModifiedLayer);
    this.getMap().addTool(this.boundarySelectTool, this.getToolbar(), true);
    super.addToolsAndCommands();
    this.cadastreBoundaryEditTool.setTargetLayer(cadastreObjectModifiedLayer);
  }
 @Override
 protected void zoomToInterestingArea(
     ReferencedEnvelope interestingArea, byte[] applicationLocation) {
   if (interestingArea == null
       && this.cadastreObjectModifiedLayer.getFeatureCollection().size() > 0) {
     interestingArea = this.cadastreObjectModifiedLayer.getFeatureCollection().getBounds();
   }
   super.zoomToInterestingArea(interestingArea, applicationLocation);
 }
 @Override
 public void setReadOnly(boolean readOnly) {
   super.setReadOnly(readOnly);
   this.getMap().getMapActionByName(CadastreRedefinitionAddNodeTool.NAME).setEnabled(!readOnly);
   this.getMap().getMapActionByName(CadastreRedefinitionModifyNodeTool.NAME).setEnabled(!readOnly);
   this.getMap()
       .getMapActionByName(CadastreRedefinitionReset.MAPACTION_NAME)
       .setEnabled(!readOnly);
 }
  @Override
  protected void addLayers() throws InitializeLayerException {
    super.addLayers();
    this.cadastreObjectModifiedLayer = new CadastreRedefinitionObjectLayer();
    this.getMap().addLayer(this.cadastreObjectModifiedLayer);

    this.cadastreObjectNodeModifiedLayer = new CadastreRedefinitionNodeLayer();
    this.getMap().addLayer(this.cadastreObjectNodeModifiedLayer);
  }