[Demonstration 1]

[Buggy Method]
GraphQueryExecution getExecution(GraphParameterAccessor accessor) {
    if (isCountQuery()) {
        return new GraphQueryExecution.CountByExecution(session, accessor);
    }
    if (isDeleteQuery()) {
        return new GraphQueryExecution.DeleteByExecution(session, method, accessor);
    }
    if (method.isCollectionQuery()) {
        return new GraphQueryExecution.CollectionExecution(session, accessor);
    }
    if (method.isPageQuery()) {
        return new GraphQueryExecution.PagedExecution(session, accessor);
    }
    if (method.isSliceQuery()) {
        return new GraphQueryExecution.SlicedExecution(session, accessor);
    }
    return new GraphQueryExecution.SingleEntityExecution(session, accessor);
}

[Buggy Hunk]
GraphQueryExecution getExecution(GraphParameterAccessor accessor) {

[Patch]
protected GraphQueryExecution getExecution(GraphParameterAccessor accessor) {

[Demonstration 2]

[Buggy Method]
@Override
public boolean isImageForPlatformAndABIInstalled(final String listSystemImagesOutput, final String platform, final String abi) {
    // split ABI into abi or tag/abi
    final String[] abiSplit = StringUtils.split(abi, '/');
    final boolean containsTag = (abiSplit.length > 1);
    final String abiString = (containsTag) ? abiSplit[1] : abiSplit[0];
    final String tagString = (containsTag) ? abiSplit[0] : "default";
    final String installedPkg = listSystemImagesOutput.replaceAll("(?is)Available Packages:.*", "");
    final String systemImageName = "system-images;" + platform + ";" + tagString + ";" + abiString;
    Pattern pattern = Pattern.compile("^" + systemImageName, Pattern.MULTILINE);
    return pattern.matcher(installedPkg).find();
}

[Buggy Hunk]
final String systemImageName = "system-images;" + platform + ";" + tagString + ";" + abiString;

[Patch]
final String systemImageName = "^system-images;" + platform + ";" + tagString + ";" + abiString + "$";

[Demonstration 3]

[Buggy Method]
@Override
public Map<String, Object> result(Object[] result) {
    HashMap<String, Object> map = new HashMap<>();
    for (int i = 0; i < fields.length; i++) {
        map.put(fields[i], result[i]);
    }
    String[] keys = with.keySet().toArray(new String[with.size()]);
    for (int i = 0; i < keys.length; i++) {
        map.put(keys[i], result[i + fields.length]);
    }
    return map;
}

[Buggy Hunk]
String[] keys = with.keySet().toArray(new String[with.size()]);

[Patch]
String[] keys = Cast.$.array(String.class, with.keySet());