[Demonstration 1]

[Buggy Method]
@Override
public String toString() {
    String str = "";
    List<ChainNode> roots = getRoots();
    for (int i = 0; i < roots.size(); i++) {
        ChainNode root = roots.get(i);
        str += " > " + root.toScoredString("");
        if (i < roots.size() - 1)
            str += "\n";
    }
    return str;
}

[Buggy Hunk]
str += " > " + root.toScoredString("");

[Patch]
str += root.toScoredString("");

[Demonstration 2]

[Buggy Method]
public void setPasswordHash(String passwordHash) {
    properties.setProperty(PASSWORDHASH_KEY, passwordHash);
    saveProperties();
}

[Buggy Hunk]
properties.setProperty(PASSWORDHASH_KEY, passwordHash);

[Patch]
properties.setProperty(PASSWORD_HASH_KEY, passwordHash);

[Demonstration 3]

[Buggy Method]
@SuppressWarnings({ "BroadCatchBlock", "UnusedAssignment" })
private static int main0(String[] args0) {
    // list must be mutable b/c myCapsule() might mutate it
    List<String> args = new ArrayList<>(asList(args0));
    Capsule capsule = null;
    try {
        capsule = myCapsule(args);
        args = unmodifiableList(args);
        if (isWrapperFactoryCapsule(capsule)) {
            // help gc
            capsule = null;
            return runOtherCapsule(args);
        }
        if (runActions(capsule, args))
            return 0;
        return capsule.launch(args);
    } catch (Throwable t) {
        if (capsule != null) {
            capsule.cleanup1();
            capsule.onError(t);
        } else
            printError(t, capsule);
        return 1;
    }
}

[Buggy Hunk]
private static int main0(String[] args0) {

[Patch]
public static int main0(String[] args0) {