Program: 150664
Project: 150664
Buggy source:
public void parse(String[] args){
  if (args.length < 1) {
    throw new RuntimeException("String_Node_Str");
  }
  cameraId=-1;
  for (int i=0; i < args.length; i++) {
    String arg=args[i];
    if (arg.startsWith("String_Node_Str")) {
      if (!checkCameraFlag(arg)) {
        splitFlag(arg);
        if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
          inputDirectory=parameters;
          inputType=InputType.IMAGE;
        }
 else         if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
          visualize=Boolean.parseBoolean(parameters);
        }
 else         if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
          if (parameters.compareToIgnoreCase("String_Node_Str") == 0) {
            modeType=ModelType.PINHOLE;
          }
 else           if (parameters.compareToIgnoreCase("String_Node_Str") == 0) {
            modeType=ModelType.UNIVERSAL;
          }
 else {
            throw new RuntimeException("String_Node_Str" + parameters);
          }
        }
 else         if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
          if (parameters.compareToIgnoreCase("String_Node_Str") == 0) {
            formatType=FormatType.BOOFCV;
          }
 else           if (parameters.compareToIgnoreCase("String_Node_Str") == 0) {
            formatType=FormatType.OPENCV;
          }
 else {
            throw new RuntimeException("String_Node_Str" + parameters);
          }
        }
 else         if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
          zeroSkew=Boolean.parseBoolean(parameters);
        }
 else         if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
          numRadial=Integer.parseInt(parameters);
        }
 else         if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
          tangential=Boolean.parseBoolean(parameters);
        }
 else {
          throw new RuntimeException("String_Node_Str" + flagName);
        }
      }
    }
 else     if (arg.compareToIgnoreCase("String_Node_Str") == 0) {
      parseChessboard(i + 1,args);
      break;
    }
 else     if (arg.compareToIgnoreCase("String_Node_Str") == 0) {
      parseSquareGrid(i + 1,args);
      break;
    }
 else     if (arg.compareToIgnoreCase("String_Node_Str") == 0) {
      parseCircle(i + 1,args,true);
      break;
    }
 else     if (arg.compareToIgnoreCase("String_Node_Str") == 0) {
      parseCircle(i + 1,args,false);
      break;
    }
 else     if (i == 0) {
      outputFileName=arg;
    }
 else {
      throw new RuntimeException("String_Node_Str" + arg);
    }
  }
  if (visualize && modeType != ModelType.PINHOLE) {
    throw new RuntimeException("String_Node_Str");
  }
  if (formatType == FormatType.OPENCV && modeType != ModelType.PINHOLE) {
    throw new RuntimeException("String_Node_Str");
  }
}

Fixed version (ground truth):
public void parse(String[] args){
  if (args.length < 1) {
    throw new RuntimeException("String_Node_Str");
  }
  cameraId=-1;
  for (int i=0; i < args.length; i++) {
    String arg=args[i];
    if (arg.startsWith("String_Node_Str")) {
      if (!checkCameraFlag(arg)) {
        splitFlag(arg);
        if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
          inputDirectory=parameters;
          inputType=InputType.IMAGE;
        }
 else         if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
          visualize=Boolean.parseBoolean(parameters);
        }
 else         if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
          if (parameters.compareToIgnoreCase("String_Node_Str") == 0) {
            modeType=ModelType.PINHOLE;
          }
 else           if (parameters.compareToIgnoreCase("String_Node_Str") == 0) {
            modeType=ModelType.UNIVERSAL;
          }
 else {
            throw new RuntimeException("String_Node_Str" + parameters);
          }
        }
 else         if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
          if (parameters.compareToIgnoreCase("String_Node_Str") == 0) {
            formatType=FormatType.BOOFCV;
          }
 else           if (parameters.compareToIgnoreCase("String_Node_Str") == 0) {
            formatType=FormatType.OPENCV;
          }
 else {
            throw new RuntimeException("String_Node_Str" + parameters);
          }
        }
 else         if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
          zeroSkew=Boolean.parseBoolean(parameters);
        }
 else         if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
          numRadial=Integer.parseInt(parameters);
        }
 else         if (flagName.compareToIgnoreCase("String_Node_Str") == 0) {
          tangential=Boolean.parseBoolean(parameters);
        }
 else {
          throw new RuntimeException("String_Node_Str" + flagName);
        }
      }
    }
 else     if (arg.compareToIgnoreCase("String_Node_Str") == 0) {
      parseChessboard(i + 1,args);
      break;
    }
 else     if (arg.compareToIgnoreCase("String_Node_Str") == 0) {
      parseSquareGrid(i + 1,args);
      break;
    }
 else     if (arg.compareToIgnoreCase("String_Node_Str") == 0) {
      parseCircle(i + 1,args,true);
      break;
    }
 else     if (arg.compareToIgnoreCase("String_Node_Str") == 0) {
      parseCircle(i + 1,args,false);
      break;
    }
 else     if (i == 0) {
      outputFileName=arg;
    }
 else {
      throw new RuntimeException("String_Node_Str" + arg);
    }
  }
  if (formatType == FormatType.OPENCV && modeType != ModelType.PINHOLE) {
    throw new RuntimeException("String_Node_Str");
  }
}