[Demonstration 1]

[Buggy Method]
@Override
public void onBindViewHolder(final UsersListViewHolder holder, final int position) {
    final Album album = mAlbumList.get(holder.getAdapterPosition());
    holder.tv_album_number.setText(String.valueOf(album.getId()));
    holder.container.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            mInterface.onClick(album);
        }
    });
}

[Buggy Hunk]
holder.tv_album_number.setText(String.valueOf(album.getId()));

[Patch]
holder.tv_album_number.setText(album.getTitle());

[Demonstration 2]

[Buggy Method]
@Override
public void open() {
    String rCmdPath = getProperty("zeppelin.R.cmd");
    String sparkRLibPath;
    if (System.getenv("SPARK_HOME") != null) {
        sparkRLibPath = System.getenv("SPARK_HOME") + "/R/lib";
    } else {
        sparkRLibPath = System.getenv("ZEPPELIN_HOME") + "/interpreter/spark/R/lib";
        // workaround to make sparkr work without SPARK_HOME
        System.setProperty("spark.test.home", System.getenv("ZEPPELIN_HOME") + "/interpreter/spark");
    }
    synchronized (SparkRBackend.backend()) {
        if (!SparkRBackend.isStarted()) {
            SparkRBackend.init();
            SparkRBackend.start();
        }
    }
    int port = SparkRBackend.port();
    SparkInterpreter sparkInterpreter = getSparkInterpreter();
    SparkContext sc = sparkInterpreter.getSparkContext();
    SparkVersion sparkVersion = new SparkVersion(sc.version());
    ZeppelinRContext.setSparkContext(sc);
    if (Utils.isSpark2()) {
        ZeppelinRContext.setSparkSession(sparkInterpreter.getSparkSession());
    }
    ZeppelinRContext.setSqlContext(sparkInterpreter.getSQLContext());
    ZeppelinRContext.setZepplinContext(sparkInterpreter.getZeppelinContext());
    zeppelinR = new ZeppelinR(rCmdPath, sparkRLibPath, port, sparkVersion);
    try {
        zeppelinR.open();
    } catch (IOException e) {
        logger.error("Exception while opening SparkRInterpreter", e);
        throw new InterpreterException(e);
    }
    if (useKnitr()) {
        zeppelinR.eval("library('knitr')");
    }
    renderOptions = getProperty("zeppelin.R.render.options");
}

[Buggy Hunk]
ZeppelinRContext.setZepplinContext(sparkInterpreter.getZeppelinContext());

[Patch]
ZeppelinRContext.setZeppelinContext(sparkInterpreter.getZeppelinContext());

[Demonstration 3]

[Buggy Method]
@Transactional
public SongOrder createOrUpdateSongOrder(String albumId, List<String> songIds) {
    SongOrder songOrder = songOrderRepo.findByAlbumId(albumId);
    if (songOrder == null) {
        songOrder = new SongOrder();
    }
    songOrder.setAlbumId(albumId);
    songOrder.setSongOrder(new LinkedHashMap<String, Integer>());
    // Set the default order
    if (songIds == null) {
        songIds = new ArrayList<String>();
        for (Song song : getSongsByAlbumId(albumId)) {
            songIds.add(song.getId());
        }
    }
    int orderCount = 0;
    for (String songId : songIds) {
        songOrder.getSongOrder().put(songId, orderCount);
        orderCount++;
    }
    return songOrderRepo.save(songOrder);
}

[Buggy Hunk]
for (Song song : getSongsByAlbumId(albumId)) {

[Patch]
for (Song song : retrieveSongsByAlbumId(albumId)) {