[Demonstration 1]

[Buggy Method]
private ResultWorkoutValidator createResultWorkoutValidatorWithFailingExerciseValidator() {
    ResultExerciseValidator resultExerciseValidator = mock(ResultExerciseValidator.class);
    doAnswer(this::rejectValidationMockedAnswer).when(resultExerciseValidator).validate(any(), any());
    when(resultExerciseValidator.supports(any())).thenReturn(true);
    return new ResultWorkoutValidator(resultExerciseValidator);
}

[Buggy Hunk]
doAnswer(this::rejectValidationMockedAnswer).when(resultExerciseValidator).validate(any(), any());

[Patch]
doAnswer(this::rejectValidationMockedAnswer).doNothing().when(resultExerciseValidator).validate(any(), any());

[Demonstration 2]

[Buggy Method]
public List<FeatureInformation> readRncFeatureCodesUtilizations(String data) {
    RNC rnc = RNC.readRncInfo(data);
    Pattern compiledInitialPattern = Pattern.compile(FeatureCodeUtilizedCapacityParser.FEATURE_CODE_UTILIZATION_MATCH_INITIAL_PATTERN);
    Pattern compiledPattern = Pattern.compile(FeatureCodeUtilizedCapacityParser.FEATURE_CODE_UTILIZATION_MATCH_PATTERN);
    List<FeatureInformation> features = new ArrayList<FeatureInformation>(3);
    Matcher matcher = compiledInitialPattern.matcher(data);
    while (matcher.find()) {
        FeatureInformation fi = new FeatureInformation();
        fi.setCode(matcher.group(1));
        fi.setCapacity(Integer.parseInt(matcher.group(2)));
        fi.setRnc(rnc);
        features.add(fi);
        data = data.replace(matcher.group(), "");
        matcher = compiledPattern.matcher(data);
    }
    return features;
}

[Buggy Hunk]
fi.setCapacity(Integer.parseInt(matcher.group(2)));

[Patch]
fi.setUtilization(matcher.group(2));

[Demonstration 3]

[Buggy Method]
public void loadSettings() {
    String version;
    FileHandler FH = new FileHandler();
    if (!FH.pathExists("config.txt")) {
        writeDefaultConfig();
        settings = new String[config.length];
        settings = config;
    } else {
        String[] dat = FH.read("config.txt");
        if (dat.length == config.length) {
            version = dat[0];
            if (!version.equals("Giant Trees Config for version " + GiantTrees.getVersion())) {
                GiantTrees.logInfo("Writing new config file!");
                writeDefaultConfig();
                settings = new String[config.length];
                settings = config;
            } else {
                settings = new String[dat.length];
                settings = dat;
            }
        } else {
            GiantTrees.logSevere("Config file written incorrectly! Writing default values!");
            writeDefaultConfig();
            settings = new String[config.length];
            settings = config;
        }
    }
}

[Buggy Hunk]
if(!version.equals("Giant Trees Config for version " + GiantTrees.getVersion())){

[Patch]
if(!version.equals("Giant Trees Config for version " + GiantTrees.getSettingsVersion())){