Program: 22973
Project: 22973
Buggy source:
public static void main(String[] args) throws Exception {
  if (args.length == 0) {
    runGUI();
  }
 else   if (hasParam(args,"String_Node_Str")) {
    try {
      ValidationEngineTests.execute();
    }
 catch (    Exception e) {
      e.printStackTrace();
    }
  }
 else   if (hasParam(args,"String_Node_Str") || hasParam(args,"String_Node_Str") || hasParam(args,"String_Node_Str")|| hasParam(args,"String_Node_Str")) {
    System.out.println("String_Node_Str" + Constants.VERSION + "String_Node_Str"+ Constants.REVISION);
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
  }
 else {
    String definitions="String_Node_Str";
    String map=null;
    List<String> igs=new ArrayList<String>();
    List<String> questionnaires=new ArrayList<String>();
    String txServer="String_Node_Str";
    boolean doNative=false;
    List<String> profiles=new ArrayList<String>();
    EngineMode mode=EngineMode.VALIDATION;
    String output=null;
    List<String> sources=new ArrayList<String>();
    Map<String,String> locations=new HashMap<String,String>();
    for (int i=0; i < args.length; i++) {
      if (args[i].equals("String_Node_Str"))       if (i + 1 == args.length)       throw new Error("String_Node_Str");
 else       definitions=args[++i];
 else       if (args[i].equals("String_Node_Str"))       if (i + 1 == args.length)       throw new Error("String_Node_Str");
 else       output=args[++i];
 else       if (args[i].equals("String_Node_Str")) {
        String p=null;
        if (i + 1 == args.length)         throw new Error("String_Node_Str");
 else {
          p=args[++i];
          profiles.add(p);
        }
        if (p != null && i + 1 < args.length && args[i + 1].equals("String_Node_Str")) {
          i++;
          if (i + 1 == args.length)           throw new Error("String_Node_Str");
 else           locations.put(p,args[++i]);
        }
      }
 else       if (args[i].equals("String_Node_Str"))       if (i + 1 == args.length)       throw new Error("String_Node_Str");
 else       questionnaires.add(args[++i]);
 else       if (args[i].equals("String_Node_Str"))       doNative=true;
 else       if (args[i].equals("String_Node_Str")) {
        map=args[++i];
        mode=EngineMode.TRANSFORM;
      }
 else       if (args[i].equals("String_Node_Str"))       mode=EngineMode.NARRATIVE;
 else       if (args[i].equals("String_Node_Str"))       mode=EngineMode.SNAPSHOT;
 else       if (args[i].equals("String_Node_Str"))       if (i + 1 == args.length)       throw new Error("String_Node_Str");
 else       txServer="String_Node_Str".equals(args[++i]) ? null : args[i];
 else       if (args[i].equals("String_Node_Str"))       if (i + 1 == args.length)       throw new Error("String_Node_Str");
 else       igs.add(args[++i]);
 else       if (args[i].equals("String_Node_Str"))       if (map == null)       if (i + 1 == args.length)       throw new Error("String_Node_Str");
 else       map=args[++i];
 else       throw new Exception("String_Node_Str");
 else       if (args[i].startsWith("String_Node_Str"))       i++;
 else       sources.add(args[i]);
    }
    if (sources.isEmpty())     throw new Exception("String_Node_Str");
    System.out.println("String_Node_Str" + definitions);
    System.out.println("String_Node_Str" + txServer);
    ValidationEngine validator=new ValidationEngine(definitions,txServer);
    System.out.println("String_Node_Str" + validator.getContext().getVersion() + "String_Node_Str");
    for (    String src : igs) {
      System.out.println("String_Node_Str" + src);
      validator.loadIg(src);
    }
    validator.setQuestionnaires(questionnaires);
    validator.setNative(doNative);
    XmlParser x=new XmlParser();
    if (mode == EngineMode.TRANSFORM) {
      if (sources.size() > 1)       throw new Exception("String_Node_Str" + sources + "String_Node_Str");
      if (txServer == null)       throw new Exception("String_Node_Str");
      if (map == null)       throw new Exception("String_Node_Str");
      try {
        Resource r=validator.transform(sources.get(0),map);
        System.out.println("String_Node_Str");
        if (output != null) {
          FileOutputStream s=new FileOutputStream(output);
          x.setOutputStyle(OutputStyle.PRETTY);
          x.compose(s,r,true);
          s.close();
        }
      }
 catch (      Exception e) {
        System.out.println("String_Node_Str" + e.getMessage());
      }
    }
 else     if (mode == EngineMode.NARRATIVE) {
      DomainResource r=validator.generate(sources.get(0));
      System.out.println("String_Node_Str");
      if (output != null) {
        handleOutput(r,output);
      }
    }
 else     if (mode == EngineMode.SNAPSHOT) {
      if (definitions == null)       throw new Exception("String_Node_Str");
      StructureDefinition r=validator.snapshot(sources.get(0));
      System.out.println("String_Node_Str");
      if (output != null) {
        handleOutput(r,output);
      }
    }
 else {
      if (definitions == null)       throw new Exception("String_Node_Str");
      for (      String s : profiles) {
        if (validator.getContext().fetchResource(StructureDefinition.class,s) == null) {
          System.out.println("String_Node_Str" + s);
          validator.loadProfile(locations.getOrDefault(s,s));
        }
      }
      System.out.println("String_Node_Str");
      Resource r=validator.validate(sources,profiles);
      if (output == null) {
        if (r instanceof Bundle)         for (        BundleEntryComponent e : ((Bundle)r).getEntry())         displayOO((OperationOutcome)e.getResource());
 else         displayOO((OperationOutcome)r);
      }
 else {
        FileOutputStream s=new FileOutputStream(output);
        x.compose(s,r,true);
        s.close();
      }
    }
  }
}

Fixed version (ground truth):
public static void main(String[] args) throws Exception {
  if (args.length == 0) {
    runGUI();
  }
 else   if (hasParam(args,"String_Node_Str")) {
    try {
      ValidationEngineTests.execute();
    }
 catch (    Exception e) {
      e.printStackTrace();
    }
  }
 else   if (hasParam(args,"String_Node_Str") || hasParam(args,"String_Node_Str") || hasParam(args,"String_Node_Str")|| hasParam(args,"String_Node_Str")) {
    System.out.println("String_Node_Str" + Constants.VERSION + "String_Node_Str"+ Constants.REVISION);
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
  }
 else {
    String definitions="String_Node_Str" + Constants.VERSION;
    String map=null;
    List<String> igs=new ArrayList<String>();
    List<String> questionnaires=new ArrayList<String>();
    String txServer="String_Node_Str";
    boolean doNative=false;
    List<String> profiles=new ArrayList<String>();
    EngineMode mode=EngineMode.VALIDATION;
    String output=null;
    List<String> sources=new ArrayList<String>();
    Map<String,String> locations=new HashMap<String,String>();
    for (int i=0; i < args.length; i++) {
      if (args[i].equals("String_Node_Str"))       if (i + 1 == args.length)       throw new Error("String_Node_Str");
 else       definitions=args[++i];
 else       if (args[i].equals("String_Node_Str"))       if (i + 1 == args.length)       throw new Error("String_Node_Str");
 else       output=args[++i];
 else       if (args[i].equals("String_Node_Str")) {
        String p=null;
        if (i + 1 == args.length)         throw new Error("String_Node_Str");
 else {
          p=args[++i];
          profiles.add(p);
        }
        if (p != null && i + 1 < args.length && args[i + 1].equals("String_Node_Str")) {
          i++;
          if (i + 1 == args.length)           throw new Error("String_Node_Str");
 else           locations.put(p,args[++i]);
        }
      }
 else       if (args[i].equals("String_Node_Str"))       if (i + 1 == args.length)       throw new Error("String_Node_Str");
 else       questionnaires.add(args[++i]);
 else       if (args[i].equals("String_Node_Str"))       doNative=true;
 else       if (args[i].equals("String_Node_Str")) {
        map=args[++i];
        mode=EngineMode.TRANSFORM;
      }
 else       if (args[i].equals("String_Node_Str"))       mode=EngineMode.NARRATIVE;
 else       if (args[i].equals("String_Node_Str"))       mode=EngineMode.SNAPSHOT;
 else       if (args[i].equals("String_Node_Str"))       if (i + 1 == args.length)       throw new Error("String_Node_Str");
 else       txServer="String_Node_Str".equals(args[++i]) ? null : args[i];
 else       if (args[i].equals("String_Node_Str"))       if (i + 1 == args.length)       throw new Error("String_Node_Str");
 else {
        String s=args[++i];
        if (s.startsWith("String_Node_Str"))         definitions=s;
 else         igs.add(s);
      }
 else       if (args[i].equals("String_Node_Str"))       if (map == null)       if (i + 1 == args.length)       throw new Error("String_Node_Str");
 else       map=args[++i];
 else       throw new Exception("String_Node_Str");
 else       if (args[i].startsWith("String_Node_Str"))       i++;
 else       sources.add(args[i]);
    }
    if (sources.isEmpty())     throw new Exception("String_Node_Str");
    System.out.println("String_Node_Str" + definitions);
    System.out.println("String_Node_Str" + txServer);
    ValidationEngine validator=new ValidationEngine(definitions,txServer);
    System.out.println("String_Node_Str" + validator.getContext().getVersion() + "String_Node_Str");
    for (    String src : igs) {
      System.out.println("String_Node_Str" + src);
      validator.loadIg(src);
    }
    validator.setQuestionnaires(questionnaires);
    validator.setNative(doNative);
    XmlParser x=new XmlParser();
    if (mode == EngineMode.TRANSFORM) {
      if (sources.size() > 1)       throw new Exception("String_Node_Str" + sources + "String_Node_Str");
      if (txServer == null)       throw new Exception("String_Node_Str");
      if (map == null)       throw new Exception("String_Node_Str");
      try {
        Resource r=validator.transform(sources.get(0),map);
        System.out.println("String_Node_Str");
        if (output != null) {
          FileOutputStream s=new FileOutputStream(output);
          x.setOutputStyle(OutputStyle.PRETTY);
          x.compose(s,r,true);
          s.close();
        }
      }
 catch (      Exception e) {
        System.out.println("String_Node_Str" + e.getMessage());
      }
    }
 else     if (mode == EngineMode.NARRATIVE) {
      DomainResource r=validator.generate(sources.get(0));
      System.out.println("String_Node_Str");
      if (output != null) {
        handleOutput(r,output);
      }
    }
 else     if (mode == EngineMode.SNAPSHOT) {
      if (definitions == null)       throw new Exception("String_Node_Str");
      StructureDefinition r=validator.snapshot(sources.get(0));
      System.out.println("String_Node_Str");
      if (output != null) {
        handleOutput(r,output);
      }
    }
 else {
      if (definitions == null)       throw new Exception("String_Node_Str");
      for (      String s : profiles) {
        if (validator.getContext().fetchResource(StructureDefinition.class,s) == null) {
          System.out.println("String_Node_Str" + s);
          validator.loadProfile(locations.getOrDefault(s,s));
        }
      }
      System.out.println("String_Node_Str" + sources);
      Resource r=validator.validate(sources,profiles);
      if (output == null) {
        if (r instanceof Bundle)         for (        BundleEntryComponent e : ((Bundle)r).getEntry())         displayOO((OperationOutcome)e.getResource());
 else         displayOO((OperationOutcome)r);
      }
 else {
        FileOutputStream s=new FileOutputStream(output);
        x.compose(s,r,true);
        s.close();
      }
    }
  }
}