[Demonstration 1]

[Buggy Method]
public void onVirusPressed(View view) {
    String sy = year_et.getText().toString();
    String sla = lat_et.getText().toString();
    String slo = lon_et.getText().toString();
    int[] ms = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
    if (sy.equals("")) {
        Toast.makeText(this, "Please enter Year", Toast.LENGTH_LONG).show();
    } else if (sla.equals("")) {
        Toast.makeText(this, "Please enter Latitude", Toast.LENGTH_LONG).show();
    } else if (slo.equals("")) {
        Toast.makeText(this, "Please enter Longitude", Toast.LENGTH_LONG).show();
    } else {
        sYear = Integer.parseInt(year_et.getText().toString());
        sLat = Double.parseDouble(lat_et.getText().toString());
        sLon = Double.parseDouble(lon_et.getText().toString());
        List<Entry> Viruses_Entries = new ArrayList<>();
        for (WaterQualityReport wrpt : full_report_list) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(wrpt.getDateCreated());
            int rYear = cal.get(Calendar.YEAR);
            Double rLat = wrpt.getLatitude();
            Double rLon = wrpt.getLongitude();
            if ((sLat == rLat) && (sLon == rLon) && (sYear == rYear)) {
                //int months;
                //int mins, hours;
                int days, secs;
                int month = cal.get(Calendar.MONTH);
                days = 0;
                for (int i = 0; i < month; i++) {
                    days += ms[i];
                }
                //int day = cal.get(Calendar.DAY_OF_MONTH);
                //days += day - 1;
                //int hour = cal.get(Calendar.HOUR_OF_DAY);
                //hours = hour + days * 24;
                int min = cal.get(Calendar.MINUTE);
                //mins = min + hours * 60;
                int sec = cal.get(Calendar.SECOND);
                secs = sec + min * 60;
                Viruses_Entries.add(new Entry(secs, (int) wrpt.getVirusPPM()));
            }
        }
        setContentView(R.layout.activity_vgraph);
        LineChart Vchart = (LineChart) findViewById(R.id.Vchart);
        LineDataSet virData = new LineDataSet(Viruses_Entries, "Virus PPM");
        virData.setColor(Color.BLUE);
        ;
        LineData vLD = new LineData(virData);
        Vchart.setData(vLD);
        Vchart.invalidate();
    }
}

[Buggy Hunk]
virData.setColor(Color.BLUE);;

[Patch]
virData.setColor(Color.BLUE);

[Demonstration 2]

[Buggy Method]
public List<T> asList() {
    return new ArrayList<T>(treeSet);
}

[Buggy Hunk]
return new ArrayList<T>(treeSet);

[Patch]
return new ArrayList<T>(m_treeSet);

[Demonstration 3]

[Buggy Method]
@SuppressWarnings("serial")
public static <T, K, L extends List<T>> BiConsumer<Partition<T, K, L>, T> scheduleEvictOnFirstInsert(long time, TimeUnit unit) {
    // Can't use lambda since state is required
    return new BiConsumer<Partition<T, K, L>, T>() {

        private Set<Partition<T, K, L>> initialized_partitions = new HashSet<>();

        @Override
        public void accept(Partition<T, K, L> partition, T tuple) {
            if (!initialized_partitions.contains(partition)) {
                initialized_partitions.add(partition);
                ScheduledExecutorService ses = partition.getWindow().getScheduledExecutorService();
                ses.schedule(() -> partition.evict(), time, unit);
            }
        }
    };
}

[Buggy Hunk]
private Set<Partition<T,K,L>> initialized_partitions = new HashSet<>();

[Patch]
private Set<Partition<T,K,L>> initialized_partitions = Collections.synchronizedSet(new HashSet<>());