[Demonstration 1]

[Buggy Method]
public static int getInt(String key) {
    return config.getInt(key);
}

[Buggy Hunk]
public static int getInt(String key){

[Patch]
public int getInt(String key) {

[Demonstration 2]

[Buggy Method]
public String generateCards(int ace) {
    if (eddiePresent) {
        String display = "";
        if (ace < 3 && ace >= 0) {
            display += "\"Which one is the ace?\"\n\n";
            display += "   # #   # #   # #\n\n";
            display += "   # #   # #   # #\n";
            display += "    1     2     3 \n\n";
        } else {
            return "Dealing error!";
        }
        return display;
    } else {
        return "Eddie is not here";
    }
}

[Buggy Hunk]
if(ace < 3 && ace >= 0)

[Patch]
if(ace < 4 && ace >= 1)

[Demonstration 3]

[Buggy Method]
@Override
public final IBinding[] getBindings(ScopeLookupData lookup) {
    if (lookup.isPrefixLookup()) {
        // If name lookup is performed for the purpose of code completion in a dependent context,
        // try to give some useful results heuristically.
        IScope scope = CPPSemantics.heuristicallyFindConcreteScopeForType(fScopeType, lookup.getLookupPoint());
        if (scope != null) {
            return scope.getBindings(lookup);
        }
        return IBinding.EMPTY_BINDING_ARRAY;
    }
    IASTName lookupName = lookup.getLookupName();
    if (lookupName != null)
        return new IBinding[] { getBinding(lookupName, lookup.isResolve(), lookup.getIncludedFiles()) };
    // When dealing with dependent expressions we always create an unknown class. That is because
    // unknown objects are not used within the expressions, they are attached to names only.
    return new IBinding[] { getOrCreateBinding(lookup.getLookupKey(), 0) };
}

[Buggy Hunk]
IScope scope = CPPSemantics.heuristicallyFindConcreteScopeForType(fScopeType,

[Patch]
IScope scope = HeuristicResolver.findConcreteScopeForType(fScopeType,