[Demonstration 1]

[Buggy Method]
public static void dragAnddropBy(WebElement webelement, int movetoValue) throws Exception {
    try {
        BaseClass.logger.log(LogStatus.INFO, "INTO Method ==> dragAnddropBy");
        Actions move = new Actions(BaseClass.getDriver());
        move.dragAndDropBy(webelement, movetoValue, 0).click();
        move.build().perform();
        Utility.GoToSleep(2000);
        BaseClass.logger.log(LogStatus.INFO, "INTO Method ==> dragAnddropBy : Scroll Moved Successfully!!!!");
    } catch (Exception e) {
        BaseClass.logger.log(LogStatus.ERROR, "INTO Method ==> dragAnddropBy" + e.getMessage());
        throw new Exception("::::::::::::::::::::::::" + e.getMessage());
    }
}

[Buggy Hunk]
move.dragAndDropBy(webelement, movetoValue, 0).click();

[Patch]
move.dragAndDropBy(webelement, movetoValue, 0);

[Demonstration 2]

[Buggy Method]
public List<Object> getExtensions() {
    List<Object> extensions = new ArrayList<Object>();
    extensions.add(SlackNotificationChannel.class);
    extensions.add(SlackClient.class);
    extensions.addAll(getSlackProperties());
    return extensions;
}

[Buggy Hunk]
List<Object> extensions = new ArrayList<Object>();

[Patch]
List<Object> extensions = new ArrayList<>();

[Demonstration 3]

[Buggy Method]
public MultiSearchResult merge(List<MultiSearchResult> results) {
    if (results.isEmpty()) {
        return new MultiSearchResult();
    }
    suffixCostLowerBounds = new ArrayList<>();
    for (int i = 0; i < results.size(); i++) {
        suffixCostLowerBounds.add(0);
    }
    suffixCostLowerBounds.set(suffixCostLowerBounds.size() - 1, results.get(results.size() - 1).getCost(0));
    for (int i = results.size() - 2; i >= 0; i--) {
        suffixCostLowerBounds.set(i, results.get(i).getCost(0) + suffixCostLowerBounds.get(i + 1));
    }
    baseCost = suffixCostLowerBounds.get(0);
    MultiSearchResult ret = new MultiSearchResult();
    List<MergeBuilder> builders = new ArrayList<>();
    for (int i = 0; i < results.get(0).size(); i++) {
        if (getCostLowerBound(results.get(0).getCost(i), 0) - costSlack > baseCost || i == maxCount) {
            break;
        }
        MergeBuilder newBuilder = new MergeBuilder(results);
        newBuilder.add(i);
        builders.add(newBuilder);
    }
    for (int i = 1; i < results.size(); i++) {
        builders = mergeStep(builders, results, i);
    }
    for (MergeBuilder builder : builders) {
        ret.add(builder.buildList(), builder.getCost());
    }
    return ret;
}

[Buggy Hunk]
if (getCostLowerBound(results.get(0).getCost(i), 0) - costSlack > baseCost || i == maxCount) {

[Patch]
if (getCostLowerBound(results.get(0).getCost(i), 0) - baseCost > costSlack || i == maxCount) {