Program: 50519
Project: 50519
Buggy source:
public void actionPerformed(ActionEvent e){
  Object o=e.getSource();
  if (o == kettleTxt) {
    double x=SBStringUtils.round(myRecipe.getKettleLoss(myRecipe.getVolUnits()),2);
    double y=SBStringUtils.round(Double.parseDouble(kettleTxt.getText()),2);
    if (x != y) {
      myRecipe.setKettleLoss(new Quantity(myRecipe.getVolUnits(),Double.parseDouble(kettleTxt.getText())));
    }
  }
 else   if (o == miscLossTxt) {
    double x=SBStringUtils.round(myRecipe.getMiscLoss(myRecipe.getVolUnits()),2);
    double y=SBStringUtils.round(Double.parseDouble(miscLossTxt.getText()),2);
    if (x != y) {
      myRecipe.setKettleLoss(new Quantity(myRecipe.getVolUnits(),Double.parseDouble(miscLossTxt.getText())));
    }
  }
 else   if (o == trubLossTxt) {
    double x=SBStringUtils.round(myRecipe.getTrubLoss(myRecipe.getVolUnits()),2);
    double y=SBStringUtils.round(Double.parseDouble(trubLossTxt.getText()),2);
    if (x != y) {
      myRecipe.setTrubLoss(new Quantity(myRecipe.getVolUnits(),Double.parseDouble(trubLossTxt.getText())));
    }
  }
 else   if (o == collectTxt) {
    double x=SBStringUtils.round(myRecipe.getPreBoilVol(myRecipe.getVolUnits()),2);
    double y=SBStringUtils.round(Double.parseDouble(collectTxt.getText()),2);
    if (x != y) {
      myRecipe.setPreBoil(new Quantity(myRecipe.getVolUnits(),Double.parseDouble(collectTxt.getText())));
    }
  }
 else   if (o == postBoilTxt) {
    double x=SBStringUtils.round(myRecipe.getPostBoilVol(myRecipe.getVolUnits()),2);
    double y=SBStringUtils.round(Double.parseDouble(postBoilTxt.getText()),2);
    if (x != y) {
      myRecipe.setPostBoil(new Quantity(myRecipe.getVolUnits(),Double.parseDouble(postBoilTxt.getText())));
    }
  }
 else   if (o == finalVolTxt) {
    double x=SBStringUtils.round(myRecipe.getFinalWortVol(myRecipe.getVolUnits()),2);
    double y=SBStringUtils.round(Double.parseDouble(finalVolTxt.getText()),2);
    if (x != y) {
      myRecipe.setFinalWortVol(new Quantity(myRecipe.getVolUnits(),Double.parseDouble(finalVolTxt.getText())));
    }
  }
  displayWater();
}

Fixed version (ground truth):
public void actionPerformed(ActionEvent e){
  Object o=e.getSource();
  if (o == kettleTxt) {
    double x=SBStringUtils.round(myRecipe.getKettleLoss(myRecipe.getVolUnits()),2);
    double y=SBStringUtils.round(Double.parseDouble(kettleTxt.getText()),2);
    if (x != y) {
      myRecipe.setKettleLoss(new Quantity(myRecipe.getVolUnits(),Double.parseDouble(kettleTxt.getText())));
    }
  }
 else   if (o == miscLossTxt) {
    double x=SBStringUtils.round(myRecipe.getMiscLoss(myRecipe.getVolUnits()),2);
    double y=SBStringUtils.round(Double.parseDouble(miscLossTxt.getText()),2);
    if (x != y) {
      myRecipe.setMiscLoss(new Quantity(myRecipe.getVolUnits(),Double.parseDouble(miscLossTxt.getText())));
    }
  }
 else   if (o == trubLossTxt) {
    double x=SBStringUtils.round(myRecipe.getTrubLoss(myRecipe.getVolUnits()),2);
    double y=SBStringUtils.round(Double.parseDouble(trubLossTxt.getText()),2);
    if (x != y) {
      myRecipe.setTrubLoss(new Quantity(myRecipe.getVolUnits(),Double.parseDouble(trubLossTxt.getText())));
    }
  }
 else   if (o == collectTxt) {
    double x=SBStringUtils.round(myRecipe.getPreBoilVol(myRecipe.getVolUnits()),2);
    double y=SBStringUtils.round(Double.parseDouble(collectTxt.getText()),2);
    if (x != y) {
      myRecipe.setPreBoil(new Quantity(myRecipe.getVolUnits(),Double.parseDouble(collectTxt.getText())));
    }
  }
 else   if (o == postBoilTxt) {
    double x=SBStringUtils.round(myRecipe.getPostBoilVol(myRecipe.getVolUnits()),2);
    double y=SBStringUtils.round(Double.parseDouble(postBoilTxt.getText()),2);
    if (x != y) {
      myRecipe.setPostBoil(new Quantity(myRecipe.getVolUnits(),Double.parseDouble(postBoilTxt.getText())));
    }
  }
 else   if (o == finalVolTxt) {
    double x=SBStringUtils.round(myRecipe.getFinalWortVol(myRecipe.getVolUnits()),2);
    double y=SBStringUtils.round(Double.parseDouble(finalVolTxt.getText()),2);
    if (x != y) {
      myRecipe.setFinalWortVol(new Quantity(myRecipe.getVolUnits(),Double.parseDouble(finalVolTxt.getText())));
    }
  }
  displayWater();
}