Program: 77812
Project: 77812
Buggy source:
@FXML private void initialize(){
  tableKamPos.setEditable(true);
  colKamPosKamera.setCellValueFactory(new PropertyValueFactory<Profile.PairCameraPosition,String>("String_Node_Str"));
  colKamPosKamera.setCellFactory(TextFieldTableCell.forTableColumn());
  colKamPosKamera.setOnEditCommit(new EventHandler<TableColumn.CellEditEvent<Profile.PairCameraPosition,String>>(){
    @Override public void handle(    TableColumn.CellEditEvent<Profile.PairCameraPosition,String> t){
      try {
        Profile.PairCameraPosition p=((Profile.PairCameraPosition)t.getTableView().getItems().get(t.getTablePosition().getRow()));
        if (t.getNewValue().compareTo("String_Node_Str") != 0) {
          kamPosList.remove(p);
          p.getCamera().setLable(t.getNewValue());
          cameraService.editCamera(p.getCamera());
          kamPosList.add(t.getTablePosition().getRow(),p);
        }
 else {
          refreshTablePosition(pservice.getAllPositionsOfProfile(pservice.get(selectedProfile.get(0).getId())));
        }
      }
 catch (      ServiceException e) {
        try {
          refreshTableProfiles(pservice.getAllProfiles());
        }
 catch (        ServiceException e1) {
          LOGGER.error("String_Node_Str",e1);
        }
      }
    }
  }
);
  colKamPosActivated.setStyle("String_Node_Str");
  colKamPosActivated.setSortable(false);
  colKamPosActivated.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<Profile.PairCameraPosition,Boolean>,ObservableValue<Boolean>>(){
    @Override public ObservableValue<Boolean> call(    TableColumn.CellDataFeatures<Profile.PairCameraPosition,Boolean> p){
      return new SimpleBooleanProperty(p.getValue() != null);
    }
  }
);
  colKamPosActivated.setCellFactory(new Callback<TableColumn<Profile.PairCameraPosition,Boolean>,TableCell<Profile.PairCameraPosition,Boolean>>(){
    @Override public TableCell<Profile.PairCameraPosition,Boolean> call(    TableColumn<Profile.PairCameraPosition,Boolean> p){
      return new CamPosCheckbox(kamPosList,pservice,kamList,selectedProfile,"String_Node_Str",windowManager.getStage());
    }
  }
);
  colKamPosPosition.setStyle("String_Node_Str");
  colKamPosPosition.setSortable(false);
  colKamPosPosition.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<Profile.PairCameraPosition,Boolean>,ObservableValue<Boolean>>(){
    @Override public ObservableValue<Boolean> call(    TableColumn.CellDataFeatures<Profile.PairCameraPosition,Boolean> p){
      return new SimpleBooleanProperty(p.getValue() != null);
    }
  }
);
  colKamPosPosition.setCellFactory(new Callback<TableColumn<Profile.PairCameraPosition,Boolean>,TableCell<Profile.PairCameraPosition,Boolean>>(){
    @Override public TableCell<Profile.PairCameraPosition,Boolean> call(    TableColumn<Profile.PairCameraPosition,Boolean> p){
      return new CamPosComboBoxCell(colKamPosPosition,kamPosList,pservice,posList,selectedProfile,windowManager.getStage());
    }
  }
);
  colKamPosGreenscreen.setStyle("String_Node_Str");
  colKamPosGreenscreen.setSortable(false);
  colKamPosGreenscreen.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<Profile.PairCameraPosition,Boolean>,ObservableValue<Boolean>>(){
    @Override public ObservableValue<Boolean> call(    TableColumn.CellDataFeatures<Profile.PairCameraPosition,Boolean> p){
      return new SimpleBooleanProperty(p.getValue() != null);
    }
  }
);
  colKamPosGreenscreen.setCellFactory(new Callback<TableColumn<Profile.PairCameraPosition,Boolean>,TableCell<Profile.PairCameraPosition,Boolean>>(){
    @Override public TableCell<Profile.PairCameraPosition,Boolean> call(    TableColumn<Profile.PairCameraPosition,Boolean> p){
      return new CamPosCheckbox(kamPosList,pservice,kamList,selectedProfile,"String_Node_Str",windowManager.getStage());
    }
  }
);
}

Fixed version (ground truth):
@FXML private void initialize(){
  tableKamPos.setEditable(true);
  colKamPosKamera.setCellValueFactory(new PropertyValueFactory<Profile.PairCameraPosition,String>("String_Node_Str"));
  colKamPosKamera.setCellFactory(TextFieldTableCell.forTableColumn());
  colKamPosKamera.setOnEditCommit(new EventHandler<TableColumn.CellEditEvent<Profile.PairCameraPosition,String>>(){
    @Override public void handle(    TableColumn.CellEditEvent<Profile.PairCameraPosition,String> t){
      try {
        Profile.PairCameraPosition p=((Profile.PairCameraPosition)t.getTableView().getItems().get(t.getTablePosition().getRow()));
        if (t.getNewValue().compareTo("String_Node_Str") != 0) {
          kamPosList.remove(p);
          p.getCamera().setLable(t.getNewValue());
          cameraService.editCamera(p.getCamera());
          kamPosList.add(t.getTablePosition().getRow(),p);
          tableKamPos.getSelectionModel().select(t.getTablePosition().getRow());
        }
 else {
          refreshTablePosition(pservice.getAllPositionsOfProfile(pservice.get(selectedProfile.get(0).getId())));
        }
      }
 catch (      ServiceException e) {
        try {
          refreshTableProfiles(pservice.getAllProfiles());
        }
 catch (        ServiceException e1) {
          LOGGER.error("String_Node_Str",e1);
        }
      }
    }
  }
);
  colKamPosActivated.setStyle("String_Node_Str");
  colKamPosActivated.setSortable(false);
  colKamPosActivated.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<Profile.PairCameraPosition,Boolean>,ObservableValue<Boolean>>(){
    @Override public ObservableValue<Boolean> call(    TableColumn.CellDataFeatures<Profile.PairCameraPosition,Boolean> p){
      return new SimpleBooleanProperty(p.getValue() != null);
    }
  }
);
  colKamPosActivated.setCellFactory(new Callback<TableColumn<Profile.PairCameraPosition,Boolean>,TableCell<Profile.PairCameraPosition,Boolean>>(){
    @Override public TableCell<Profile.PairCameraPosition,Boolean> call(    TableColumn<Profile.PairCameraPosition,Boolean> p){
      return new CamPosCheckbox(kamPosList,pservice,selectedProfile,"String_Node_Str",windowManager.getStage());
    }
  }
);
  colKamPosPosition.setStyle("String_Node_Str");
  colKamPosPosition.setSortable(false);
  colKamPosPosition.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<Profile.PairCameraPosition,Boolean>,ObservableValue<Boolean>>(){
    @Override public ObservableValue<Boolean> call(    TableColumn.CellDataFeatures<Profile.PairCameraPosition,Boolean> p){
      return new SimpleBooleanProperty(p.getValue() != null);
    }
  }
);
  colKamPosPosition.setCellFactory(new Callback<TableColumn<Profile.PairCameraPosition,Boolean>,TableCell<Profile.PairCameraPosition,Boolean>>(){
    @Override public TableCell<Profile.PairCameraPosition,Boolean> call(    TableColumn<Profile.PairCameraPosition,Boolean> p){
      return new CamPosComboBoxCell(colKamPosPosition,kamPosList,pservice,posList,selectedProfile,windowManager.getStage());
    }
  }
);
  colKamPosGreenscreen.setStyle("String_Node_Str");
  colKamPosGreenscreen.setSortable(false);
  colKamPosGreenscreen.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<Profile.PairCameraPosition,Boolean>,ObservableValue<Boolean>>(){
    @Override public ObservableValue<Boolean> call(    TableColumn.CellDataFeatures<Profile.PairCameraPosition,Boolean> p){
      return new SimpleBooleanProperty(p.getValue() != null);
    }
  }
);
  colKamPosGreenscreen.setCellFactory(new Callback<TableColumn<Profile.PairCameraPosition,Boolean>,TableCell<Profile.PairCameraPosition,Boolean>>(){
    @Override public TableCell<Profile.PairCameraPosition,Boolean> call(    TableColumn<Profile.PairCameraPosition,Boolean> p){
      return new CamPosCheckbox(kamPosList,pservice,selectedProfile,"String_Node_Str",windowManager.getStage());
    }
  }
);
}