[Demonstration 1]

[Buggy Method]
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
    // Get the item that was clicked
    Object o = this.getListAdapter().getItem(position);
    if (clientSocket == null || clientSocket.hasQuit()) {
        clientSocket = new SocketClient(null);
        clientSocket.execute(MACIPMap.get(o.toString()));
    }
    //handle.post(new Runnable() {
    //	@Override
    //	public void run() {
    statusText.setText("Getting File List");
    //	}
    //});
    this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new ArrayList<String>()));
    new Thread(new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            String filelist;
            try {
                filelist = (String) clientSocket.get();
                final List<String> files = Arrays.asList(filelist.split("\\n"));
                handle.post(new Runnable() {

                    @Override
                    public void run() {
                        This.setListAdapter(new ArrayAdapter<String>(This, android.R.layout.simple_list_item_1, files));
                    }
                });
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ExecutionException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }).start();
}

[Buggy Hunk]
clientSocket = new SocketClient(null);

[Patch]
clientSocket = new SocketClient(null, this);

[Demonstration 2]

[Buggy Method]
@Override
public void edgeInserted(V source, V target) {
    Map<V, Integer> incoming = incomingEdges.get(target);
    if (incoming == null) {
        incoming = new HashMap<V, Integer>();
        incomingEdges.put(target, incoming);
    }
    Integer count = incoming.get(incoming);
    if (count == null) {
        count = 0;
    }
    count++;
    incoming.put(source, count);
}

[Buggy Hunk]
Integer count = incoming.get(incoming);

[Patch]
Integer count = incoming.get(source);

[Demonstration 3]

[Buggy Method]
public List<BiconnectedComponent<V, E>> listBiconnectedComponents() {
    Biconnected<V, E> biconnected = new Biconnected<V, E>(graph);
    return biconnected.findBiconnectedComponents();
}

[Buggy Hunk]
Biconnected<V,E> biconnected = new Biconnected<V,E>(graph);

[Patch]
BiconnectedSplitting<V,E> biconnected = new BiconnectedSplitting<V,E>(graph);