Program: 77902
Project: 77902
Buggy source:
@FXML private void saveLogo(){
  LOGGER.error("String_Node_Str");
  String name=txLogoName.getText();
  if (name.trim().compareTo("String_Node_Str") == 0 || txLogoLogo.getText().compareTo("String_Node_Str") == 0) {
    LOGGER.error("String_Node_Str");
    showError("String_Node_Str");
  }
 else {
    try {
      Logo newLogo=new Logo(name,txLogoLogo.getText());
      double width=0.0;
      double height=0.0;
      if (txLogoHoehe.getText().isEmpty() && !txLogoBreite.getText().isEmpty()) {
        width=Double.valueOf(txLogoBreite.getText());
        height=logoService.calculateRelativeHeight(width,newLogo,Double.valueOf(txPreviewWidth.getText()),Double.valueOf(txPreviewHeight.getText()));
      }
 else       if (!txLogoHoehe.getText().isEmpty() && txLogoBreite.getText().isEmpty()) {
        height=Double.valueOf(txLogoHoehe.getText());
        width=logoService.calculateRelativeWidth(height,newLogo,Double.valueOf(txPreviewWidth.getText()),Double.valueOf(txPreviewHeight.getText()));
      }
 else       if (txLogoHoehe.getText().isEmpty() && txLogoBreite.getText().isEmpty()) {
        throw new NumberFormatException();
      }
 else {
        width=Double.valueOf(txLogoBreite.getText());
        height=Double.valueOf(txLogoHoehe.getText());
      }
      RelativeRectangle newPosition=new RelativeRectangle(Double.valueOf(txLogoX.getText()),Double.valueOf(txLogoY.getText()),width,height);
      LOGGER.info("String_Node_Str");
      if (txLogoLogo.getId().isEmpty())       newLogo=pservice.addLogo(newLogo);
 else       newLogo=pservice.getLogo(Integer.valueOf(txLogoLogo.getId()));
      Profile.PairLogoRelativeRectangle p=pservice.addPairLogoRelativeRectangle(selectedProfile.getId(),newLogo.getId(),newPosition);
      logoList.add(p);
      txLogoName.getEntries().add(newLogo.getLabel() + "String_Node_Str" + newLogo.getId());
      ImageView imgView=new ImageView(new Image("String_Node_Str" + newLogo.getPath(),30,30,true,true));
      imgView.setId(newLogo.getPath());
      txLogoName.getImgViews().put(newLogo.getLabel().toLowerCase() + "String_Node_Str" + newLogo.getId(),imgView);
      txLogoName.clear();
      txLogoBreite.clear();
      txLogoHoehe.clear();
      txLogoX.clear();
      txLogoY.clear();
      txLogoLogo.setText("String_Node_Str");
    }
 catch (    ServiceException e) {
      LOGGER.error("String_Node_Str" + e.getMessage());
    }
catch (    NumberFormatException e) {
      showError("String_Node_Str");
      LOGGER.error("String_Node_Str" + e.getMessage());
    }
  }
}

Fixed version (ground truth):
@FXML private void saveLogo(){
  LOGGER.error("String_Node_Str");
  String name=txLogoName.getText();
  if (selectedProfile == null || name.trim().compareTo("String_Node_Str") == 0 || txLogoLogo.getText().compareTo("String_Node_Str") == 0 || txLogoX.getText().isEmpty() || txLogoY.getText().isEmpty() || (txLogoBreite.getText().isEmpty() && txLogoHoehe.getText().isEmpty())) {
    LOGGER.error("String_Node_Str");
    showError("String_Node_Str");
  }
 else {
    try {
      Logo newLogo=new Logo(name,txLogoLogo.getText());
      double width=0.0;
      double height=0.0;
      if (txLogoHoehe.getText().isEmpty() && !txLogoBreite.getText().isEmpty()) {
        width=Double.valueOf(txLogoBreite.getText());
        height=logoService.calculateRelativeHeight(width,newLogo,Double.valueOf(txPreviewWidth.getText()),Double.valueOf(txPreviewHeight.getText()));
      }
 else       if (!txLogoHoehe.getText().isEmpty() && txLogoBreite.getText().isEmpty()) {
        height=Double.valueOf(txLogoHoehe.getText());
        width=logoService.calculateRelativeWidth(height,newLogo,Double.valueOf(txPreviewWidth.getText()),Double.valueOf(txPreviewHeight.getText()));
      }
 else       if (txLogoHoehe.getText().isEmpty() && txLogoBreite.getText().isEmpty()) {
        throw new NumberFormatException();
      }
 else {
        width=Double.valueOf(txLogoBreite.getText());
        height=Double.valueOf(txLogoHoehe.getText());
      }
      RelativeRectangle newPosition=new RelativeRectangle(Double.valueOf(txLogoX.getText()),Double.valueOf(txLogoY.getText()),width,height);
      LOGGER.info("String_Node_Str");
      if (txLogoLogo.getId().isEmpty())       newLogo=pservice.addLogo(newLogo);
 else       newLogo=pservice.getLogo(Integer.valueOf(txLogoLogo.getId()));
      Profile.PairLogoRelativeRectangle p=pservice.addPairLogoRelativeRectangle(selectedProfile.getId(),newLogo.getId(),newPosition);
      logoList.add(p);
      txLogoName.getEntries().add(newLogo.getLabel().toLowerCase() + "String_Node_Str" + newLogo.getId());
      ImageView imgView=new ImageView(new Image("String_Node_Str" + newLogo.getPath(),30,30,true,true));
      imgView.setId(newLogo.getPath());
      txLogoName.getImgViews().put(newLogo.getLabel().toLowerCase() + "String_Node_Str" + newLogo.getId(),imgView);
      txLogoName.clear();
      txLogoBreite.clear();
      txLogoHoehe.clear();
      txLogoX.clear();
      txLogoY.clear();
      txLogoLogo.setText("String_Node_Str");
      txLogoUpload.setBackground(imageHandler.getBackground("String_Node_Str",50,50));
    }
 catch (    ServiceException e) {
      LOGGER.error("String_Node_Str" + e.getMessage());
    }
catch (    NumberFormatException e) {
      showError("String_Node_Str");
      LOGGER.error("String_Node_Str" + e.getMessage());
    }
  }
}