[Demonstration 1]

[Buggy Method]
private void assignValue() {
    tokenValue = new String[tokens.length][2];
    String patternString = "^[0-9A-F][0-9A-F][0-9A-F][0-9A-F].*";
    Pattern pattern = Pattern.compile(patternString, Pattern.DOTALL);
    for (int i = 0; i < tokens.length; i++) {
        if (pattern.matcher(tokens[i]).matches()) {
            tokenValue[i][0] = tokens[i].substring(0, 4);
            tokenValue[i][1] = tokens[i].replaceFirst("[0-9A-F][0-9A-F][0-9A-F][0-9A-F] ", "");
        } else {
            tokenValue[i][0] = "8000";
            tokenValue[i][1] = tokens[i];
        }
        // System.out.println( tokenValue[i][0]+":"+tokenValue[i][1]+"#");
    }
}

[Buggy Hunk]
tokenValue[i][0]= "8000";

[Patch]
tokenValue[i][0]= defaultValue;

[Demonstration 2]

[Buggy Method]
public void update(Song song) {
    if (song != null) {
        final int oldLines = mSong == null ? -1 : mSong.numLines();
        final int newLines = song.numLines();
        mSong = song;
        if (oldLines != -1) {
            if (oldLines > newLines) {
                notifyItemRangeRemoved(newLines, oldLines - newLines);
                notifyItemRangeChanged(0, newLines);
            } else {
                notifyItemRangeChanged(0, oldLines);
                notifyItemRangeInserted(oldLines, newLines - oldLines);
            }
        } else {
            notifyItemRangeInserted(0, newLines);
        }
    }
}

[Buggy Hunk]
if (song != null) {

[Patch]
if (song != null && song != mSong) {

[Demonstration 3]

[Buggy Method]
private void startKaraf(ExamSystem subsystem, File karafBase, File karafHome) {
    long startedAt = System.currentTimeMillis();
    File karafBin = new File(karafBase, "bin");
    File karafEtc = new File(karafBase, framework.getKarafEtc());
    File karafData = new File(karafBase, framework.getKarafData());
    String[] classPath = buildKarafClasspath(karafHome);
    makeScriptsInBinExec(karafBin);
    File javaHome = new File(System.getProperty("java.home"));
    String main = framework.getKarafMain();
    String options = "";
    List<String> environment = new ArrayList<>();
    EnvironmentOption[] environmentOptions = subsystem.getOptions(EnvironmentOption.class);
    for (EnvironmentOption environmentOption : environmentOptions) {
        environment.add(environmentOption.getEnvironment());
    }
    ArrayList<String> javaOpts = new ArrayList<String>();
    appendVmSettingsFromSystem(javaOpts, subsystem);
    String[] javaEndorsedDirs = null;
    if (System.getProperty("java.version").startsWith("9")) {
        javaEndorsedDirs = new String[] {};
    } else {
        javaEndorsedDirs = new String[] { javaHome + "/jre/lib/endorsed", javaHome + "/lib/endorsed", karafHome + "/lib/endorsed" };
    }
    String[] javaExtDirs = new String[] { javaHome + "/jre/lib/ext", javaHome + "/lib/ext", javaHome + "/lib/ext" };
    List<String> opts = Arrays.asList("-Dkaraf.startLocalConsole=" + shouldLocalConsoleBeStarted(subsystem), "-Dkaraf.startRemoteShell=" + shouldRemoteShellBeStarted(subsystem));
    boolean enableMBeanServerBuilder = shouldMBeanServerBuilderBeEnabled(subsystem);
    String[] karafOpts = new String[] {};
    String[] env = environment.toArray(new String[environment.size()]);
    runner.exec(env, karafBase, javaHome.toString(), javaOpts.toArray(new String[] {}), javaEndorsedDirs, javaExtDirs, karafHome.toString(), karafData.toString(), karafEtc.toString(), karafOpts, opts.toArray(new String[] {}), classPath, main, options, enableMBeanServerBuilder);
    LOGGER.debug("Test Container started in " + (System.currentTimeMillis() - startedAt) + " millis");
    LOGGER.info("Wait for test container to finish its initialization " + subsystem.getTimeout());
    if (subsystem.getOptions(ServerModeOption.class).length == 0) {
        waitForState(org.ops4j.pax.exam.karaf.container.internal.Constants.SYSTEM_BUNDLE, Bundle.ACTIVE, subsystem.getTimeout());
    } else {
        LOGGER.info("System runs in Server Mode. Which means, no Test facility bundles available on target system.");
    }
}

[Buggy Hunk]
ArrayList<String> javaOpts = new ArrayList<String>();

[Patch]
ArrayList<String> javaOpts = new ArrayList<>();