Program: 59450
Project: 59450
Buggy source:
/** 
 * Fetch the supported currency pairs from the Kraken server.
 */
private final boolean requestSupportedCurrencyPairs(){
  String url=_url + "String_Node_Str";
  String requestResult=HttpUtils.httpGet(url);
  if (requestResult != null) {
    JSONObject jsonResult=JSONObject.fromObject(requestResult);
    if (jsonResult.containsKey("String_Node_Str")) {
      JSONObject pairListJSON=jsonResult.getJSONObject("String_Node_Str");
      for (Iterator keyIterator=pairListJSON.keys(); keyIterator.hasNext(); ) {
        String krakenPairName=(String)keyIterator.next();
        JSONObject currentCurrencyPairJSON=pairListJSON.getJSONObject(krakenPairName);
        de.andreas_rueckert.trade.Currency currency=CurrencySymbolMapper.getCurrencyForIso4217Name(currentCurrencyPairJSON.getString("String_Node_Str"));
        de.andreas_rueckert.trade.Currency paymentCurrency=CurrencySymbolMapper.getCurrencyForIso4217Name(currentCurrencyPairJSON.getString("String_Node_Str"));
        de.andreas_rueckert.trade.CurrencyPair currentPair=new de.andreas_rueckert.trade.CurrencyPairImpl(currency,paymentCurrency);
        addCurrencyPairName(currentPair,krakenPairName);
        JSONArray jsonFees=currentCurrencyPairJSON.getJSONArray("String_Node_Str");
        CurrencyPairFeeSet feeSet=new CurrencyPairFeeSet(currentPair);
        for (int currentFeeIndex=0; currentFeeIndex < jsonFees.size(); ++currentFeeIndex) {
          JSONArray jsonCurrentFee=jsonFees.getJSONArray(currentFeeIndex);
          feeSet.addFee(new Amount(jsonCurrentFee.getDouble(0)),new BigDecimal(jsonCurrentFee.getDouble(1)));
          System.out.println("String_Node_Str" + jsonCurrentFee.getDouble(1) + "String_Node_Str"+ currentPair.toString());
        }
        _currencyPairFees.put(currentPair,feeSet);
      }
      return true;
    }
  }
  return false;
}

Fixed version (ground truth):
/** 
 * Fetch the supported currency pairs from the Kraken server.
 */
private final boolean requestSupportedCurrencyPairs(){
  String url=_url + "String_Node_Str";
  String requestResult=HttpUtils.httpGet(url);
  if (requestResult != null) {
    JSONObject jsonResult=JSONObject.fromObject(requestResult);
    if (jsonResult.containsKey("String_Node_Str")) {
      JSONObject pairListJSON=jsonResult.getJSONObject("String_Node_Str");
      for (Iterator keyIterator=pairListJSON.keys(); keyIterator.hasNext(); ) {
        String krakenPairName=(String)keyIterator.next();
        JSONObject currentCurrencyPairJSON=pairListJSON.getJSONObject(krakenPairName);
        de.andreas_rueckert.trade.Currency currency=CurrencySymbolMapper.getCurrencyForIso4217Name(currentCurrencyPairJSON.getString("String_Node_Str"));
        de.andreas_rueckert.trade.Currency paymentCurrency=CurrencySymbolMapper.getCurrencyForIso4217Name(currentCurrencyPairJSON.getString("String_Node_Str"));
        de.andreas_rueckert.trade.CurrencyPair currentPair=new de.andreas_rueckert.trade.CurrencyPairImpl(currency,paymentCurrency);
        addCurrencyPairName(currentPair,krakenPairName);
        JSONArray jsonFees=currentCurrencyPairJSON.getJSONArray("String_Node_Str");
        CurrencyPairFeeSet feeSet=new CurrencyPairFeeSet(currentPair);
        for (int currentFeeIndex=0; currentFeeIndex < jsonFees.size(); ++currentFeeIndex) {
          JSONArray jsonCurrentFee=jsonFees.getJSONArray(currentFeeIndex);
          feeSet.addFee(new Amount(jsonCurrentFee.getDouble(0)),new BigDecimal(jsonCurrentFee.getDouble(1)));
        }
        _currencyPairFees.put(currentPair,feeSet);
      }
      return true;
    }
  }
  return false;
}