[Demonstration 1]

[Buggy Method]
private void makeMovieDbQuery(MovieDbListType type) {
    showMovieDataView();
    Config config = new Config(getAssets());
    URL url = NetworkUtils.buildUrl(config.getProperty("movie_db_url"), config.getProperty("api_key"), type);
    new FetchMovieTask().execute(url);
}

[Buggy Hunk]
Config config = new Config(getAssets());

[Patch]
Config config = new Config(getBaseContext());

[Demonstration 2]

[Buggy Method]
private void makeBrowserPanelVisible(String url) {
    urlToBrowserPanels.get(url).setVisible(true);
}

[Buggy Hunk]
private void makeBrowserPanelVisible(String url) {

[Patch]
private void makeBrowserPanelVisible(final String url) {

[Demonstration 3]

[Buggy Method]
public static void main(String[] arg) {
    DynamicTree dt = new DynamicTree();
    File tp = new File("Topology_xc.xml");
    dt.setTopo(tp);
    File userFile = new File("Users.xml");
    dt.initialDatabase_Pointer(userFile);
    //System.out.println(dt.user_call_count.get("2203").get(dt.getCallerLocation("2203")));
    //Testing moving user from one place to another.
    // /*
    ((DynamicTreeNode) dt.root.database.get("2601")).printName();
    dt.resetCounter();
    System.out.println("Starting move 2601 from PA to " + dt.leafNodes.get(4).getName());
    dt.updateDatabase_actualPointer("2601", dt.leafNodes.get(4), dt.leafNodes.get(4), true, new ArrayList<DynamicTreeNode>(), new ArrayList<DynamicTreeNode>());
    ((DynamicTreeNode) dt.root.database.get("2601")).printName();
    dt.printUpdateCost("2601");
    dt.resetCounter();
    dt.updateDatabase_actualPointer("2601", dt.leafNodes.get(42), dt.leafNodes.get(42), true, new ArrayList<DynamicTreeNode>(), new ArrayList<DynamicTreeNode>());
    dt.printUpdateCost("2601");
    //*/
    ///*
    dt.initialDatabase_Value(userFile);
    ((DynamicTreeNode) dt.root.database.get("2602")).printName();
    dt.resetCounter();
    System.out.println("Starting move 2602 from PA to " + dt.leafNodes.get(4).getName());
    dt.updateDatabase_databseValue("2602", dt.leafNodes.get(4), dt.leafNodes.get(4), false, new ArrayList<DynamicTreeNode>(), new ArrayList<DynamicTreeNode>());
    ((DynamicTreeNode) dt.root.database.get("2602")).printName();
    dt.printUpdateCost("2602");
    dt.resetCounter();
    dt.updateDatabase_databseValue("2602", dt.leafNodes.get(42), dt.leafNodes.get(42), false, new ArrayList<DynamicTreeNode>(), new ArrayList<DynamicTreeNode>());
    dt.printUpdateCost("2602");
    //*/
    dt.initialDatabase_Pointer(userFile);
    dt.resetCounter();
    System.out.println("Starting move 2603 from PA to " + dt.leafNodes.get(34).getName());
    DynamicTreeNode callerLocation = dt.getCallerLocation("2603");
    dt.updateUserCallMetric("2603", dt.leafNodes.get(4), 50);
    dt.updateDatabase_forwarding_address("2603", dt.findForwardingLevel("2603", callerLocation), callerLocation, dt.leafNodes.get(34), new ArrayList<DynamicTreeNode>(), new ArrayList<DynamicTreeNode>());
    dt.printUpdateCost("2603");
    dt.initialDatabase_Pointer(userFile);
    dt.resetCounter();
    System.out.println("Testing replication for user 3601");
    System.out.println("increase call number from node: " + dt.leafNodes.get(8).getName());
    dt.updateUserCallMetric("3601", dt.leafNodes.get(8), 100);
    dt.replication("3601", 3, 1, 10, 5, dt.getCallerLocation("3601"), dt.leafNodes, new ArrayList<DynamicTreeNode>(), new ArrayList<DynamicTreeNode>());
    System.out.println("increase call number from node: " + dt.leafNodes.get(23).getName());
    dt.updateUserCallMetric("3601", dt.leafNodes.get(23), 100);
    dt.replication("3601", 3, 1, 10, 5, dt.getCallerLocation("3601"), dt.leafNodes, new ArrayList<DynamicTreeNode>(), new ArrayList<DynamicTreeNode>());
    System.out.println("increase call number from node: " + dt.leafNodes.get(38).getName());
    dt.updateUserCallMetric("3601", dt.leafNodes.get(38), 100);
    dt.replication("3601", 3, 1, 10, 5, dt.getCallerLocation("3601"), dt.leafNodes, new ArrayList<DynamicTreeNode>(), new ArrayList<DynamicTreeNode>());
}

[Buggy Hunk]
dt.updateDatabase_forwarding_address("2603",dt.findForwardingLevel("2603",callerLocation),callerLocation,dt.leafNodes.get(34),

[Patch]
dt.updateDatabase_forwarding_pointer("2603",dt.findForwardingLevel("2603",callerLocation),callerLocation,dt.leafNodes.get(34),