Program: 179700
Project: 179700
Buggy source:
private void load(InputStream yamlStream) throws IOException {
  this.yaml=new HashMap<String,Object>();
  if (yamlStream != null) {
    try {
      InputStreamReader yamlStreamReader=new InputStreamReader(yamlStream);
      BufferedReader buffer=new BufferedReader(yamlStreamReader);
      String line, node="String_Node_Str";
      int lastBlank=0;
      boolean isNode=false;
      while ((line=buffer.readLine()) != null) {
        int blank=0;
        if (line.length() > 0 && line.charAt(line.length() - 1) == ':') {
          for (int i=0; i < line.length(); i++) {
            if (Character.isWhitespace(line.charAt(i))) {
              blank++;
            }
          }
          line=line.replaceAll("String_Node_Str","String_Node_Str");
          line=line.replaceAll("String_Node_Str","String_Node_Str");
          if (blank == 0) {
            node=line + "String_Node_Str";
          }
 else           if (blank > lastBlank) {
            node+=line + "String_Node_Str";
          }
 else           if (blank <= lastBlank) {
            String[] split=node.split("String_Node_Str");
            if ((lastBlank - blank) > 0) {
              for (int i=1; ((lastBlank - blank) / 4) >= i; i++) {
                node=node.replace("String_Node_Str" + split[split.length - i],"String_Node_Str");
              }
            }
 else {
              node=node.replace("String_Node_Str" + split[split.length - 1],"String_Node_Str");
            }
            node+=line + "String_Node_Str";
          }
          lastBlank=blank;
          isNode=true;
        }
 else         if (line.length() > 0) {
          boolean set=false;
          for (int i=0; i < line.length() && !set; i++) {
            if (Character.isWhitespace(line.charAt(i))) {
              blank++;
            }
 else {
              set=true;
            }
          }
          String[] split=line.split("String_Node_Str");
          String finalNode=split[0].replaceAll("String_Node_Str","String_Node_Str");
          if (finalNode.startsWith("String_Node_Str")) {
            continue;
          }
          if (!isNode && blank > lastBlank) {
            node+=finalNode + "String_Node_Str";
          }
 else           if (!isNode && blank < lastBlank) {
            String[] spl=node.split("String_Node_Str");
            node=node.replace("String_Node_Str" + spl[spl.length - 1],"String_Node_Str");
          }
          lastBlank=blank;
          String temp=split[1].substring(1);
          if (split.length > 1) {
            for (int i=2; split.length > i; i++) {
              temp+="String_Node_Str" + split[i];
            }
          }
          int index=temp.lastIndexOf('#');
          if (index != -1 && Character.isWhitespace(temp.charAt(index - 1))) {
            temp=temp.substring(0,index - 1);
          }
          String value="String_Node_Str";
          char last=0;
          for (int i=0; i < temp.length(); i++) {
            if (Character.isWhitespace(temp.charAt(i)) && Character.isWhitespace(last)) {
              continue;
            }
            value+=temp.charAt(i);
            last=temp.charAt(i);
          }
          if (Character.isWhitespace(value.charAt(value.length() - 1))) {
            value=value.substring(0,value.length() - 1);
          }
          if (value.equalsIgnoreCase("String_Node_Str")) {
            getLogger().debug("String_Node_Str" + node + finalNode+ "String_Node_Str"+ "String_Node_Str");
            this.yaml.put(node + finalNode,true);
          }
 else           if (value.equalsIgnoreCase("String_Node_Str")) {
            getLogger().debug("String_Node_Str" + node + finalNode+ "String_Node_Str"+ "String_Node_Str");
            this.yaml.put(node + finalNode,false);
          }
 else           if (Util.isInteger(value)) {
            getLogger().debug("String_Node_Str" + node + finalNode+ "String_Node_Str"+ "String_Node_Str"+ value+ "String_Node_Str");
            this.yaml.put(node + finalNode,Integer.parseInt(value));
          }
 else           if (Util.isLong(value)) {
            getLogger().debug("String_Node_Str" + node + finalNode+ "String_Node_Str"+ "String_Node_Str"+ value+ "String_Node_Str");
            this.yaml.put(node + finalNode,Long.parseLong(value));
          }
 else           if (value instanceof String && value != null && !value.equalsIgnoreCase("String_Node_Str")) {
            getLogger().debug("String_Node_Str" + node + finalNode+ "String_Node_Str"+ "String_Node_Str"+ value+ "String_Node_Str");
            this.yaml.put(node + finalNode,value);
          }
 else {
            getLogger().error("String_Node_Str" + node + finalNode+ "String_Node_Str"+ "String_Node_Str"+ value+ "String_Node_Str");
          }
          isNode=false;
        }
      }
    }
  finally {
      yamlStream.close();
    }
  }
}

Fixed version (ground truth):
private void load(InputStream yamlStream) throws IOException {
  if (yamlStream != null) {
    try {
      InputStreamReader yamlStreamReader=new InputStreamReader(yamlStream);
      BufferedReader buffer=new BufferedReader(yamlStreamReader);
      String line, node="String_Node_Str";
      int lastBlank=0;
      boolean isNode=false;
      while ((line=buffer.readLine()) != null) {
        int blank=0;
        if (line.length() > 0 && line.charAt(line.length() - 1) == ':') {
          for (int i=0; i < line.length(); i++) {
            if (Character.isWhitespace(line.charAt(i))) {
              blank++;
            }
          }
          line=line.replaceAll("String_Node_Str","String_Node_Str");
          line=line.replaceAll("String_Node_Str","String_Node_Str");
          if (blank == 0) {
            node=line + "String_Node_Str";
          }
 else           if (blank > lastBlank) {
            node+=line + "String_Node_Str";
          }
 else           if (blank <= lastBlank) {
            String[] split=node.split("String_Node_Str");
            if ((lastBlank - blank) > 0) {
              for (int i=1; ((lastBlank - blank) / 4) >= i; i++) {
                node=node.replace("String_Node_Str" + split[split.length - i],"String_Node_Str");
              }
            }
 else {
              node=node.replace("String_Node_Str" + split[split.length - 1],"String_Node_Str");
            }
            node+=line + "String_Node_Str";
          }
          lastBlank=blank;
          isNode=true;
        }
 else         if (line.length() > 0) {
          boolean set=false;
          for (int i=0; i < line.length() && !set; i++) {
            if (Character.isWhitespace(line.charAt(i))) {
              blank++;
            }
 else {
              set=true;
            }
          }
          String[] split=line.split("String_Node_Str");
          String finalNode=split[0].replaceAll("String_Node_Str","String_Node_Str");
          if (finalNode.startsWith("String_Node_Str")) {
            continue;
          }
          if (!isNode && blank > lastBlank) {
            node+=finalNode + "String_Node_Str";
          }
 else           if (!isNode && blank < lastBlank) {
            String[] spl=node.split("String_Node_Str");
            node=node.replace("String_Node_Str" + spl[spl.length - 1],"String_Node_Str");
          }
          lastBlank=blank;
          String temp=split[1].substring(1);
          if (split.length > 1) {
            for (int i=2; split.length > i; i++) {
              temp+="String_Node_Str" + split[i];
            }
          }
          int index=temp.lastIndexOf('#');
          if (index != -1 && Character.isWhitespace(temp.charAt(index - 1))) {
            temp=temp.substring(0,index - 1);
          }
          String value="String_Node_Str";
          char last=0;
          for (int i=0; i < temp.length(); i++) {
            if (Character.isWhitespace(temp.charAt(i)) && Character.isWhitespace(last)) {
              continue;
            }
            value+=temp.charAt(i);
            last=temp.charAt(i);
          }
          if (Character.isWhitespace(value.charAt(value.length() - 1))) {
            value=value.substring(0,value.length() - 1);
          }
          if (value.equalsIgnoreCase("String_Node_Str")) {
            getLogger().debug("String_Node_Str" + node + finalNode+ "String_Node_Str"+ "String_Node_Str");
            this.yaml.put(node + finalNode,true);
          }
 else           if (value.equalsIgnoreCase("String_Node_Str")) {
            getLogger().debug("String_Node_Str" + node + finalNode+ "String_Node_Str"+ "String_Node_Str");
            this.yaml.put(node + finalNode,false);
          }
 else           if (Util.isInteger(value)) {
            getLogger().debug("String_Node_Str" + node + finalNode+ "String_Node_Str"+ "String_Node_Str"+ value+ "String_Node_Str");
            this.yaml.put(node + finalNode,Integer.parseInt(value));
          }
 else           if (Util.isLong(value)) {
            getLogger().debug("String_Node_Str" + node + finalNode+ "String_Node_Str"+ "String_Node_Str"+ value+ "String_Node_Str");
            this.yaml.put(node + finalNode,Long.parseLong(value));
          }
 else           if (value instanceof String && value != null && !value.equalsIgnoreCase("String_Node_Str")) {
            getLogger().debug("String_Node_Str" + node + finalNode+ "String_Node_Str"+ "String_Node_Str"+ value+ "String_Node_Str");
            this.yaml.put(node + finalNode,value);
          }
 else {
            getLogger().error("String_Node_Str" + node + finalNode+ "String_Node_Str"+ "String_Node_Str"+ value+ "String_Node_Str");
          }
          isNode=false;
        }
      }
    }
  finally {
      yamlStream.close();
    }
  }
}