[Demonstration 1]

[Buggy Method]
@Override
public void onClick(View arg0) {
    PopupMenu popupMenu = new PopupMenu(DetailDispatchActivity.this, approval);
    if (dispatch.da_xu_ly.contains(dispatch.getHandler()) && isReceivedDispatch(dispatch.getId())) {
        popupMenu.getMenuInflater().inflate(R.menu.menu_task_without_detail, popupMenu.getMenu());
    } else {
        popupMenu.getMenuInflater().inflate(R.menu.menu_task_without_detail_receiver_cv, popupMenu.getMenu());
    }
    popupMenu.show();
    popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() {

        @Override
        public boolean onMenuItemClick(MenuItem item) {
            Intent intent = new Intent();
            switch(item.getItemId()) {
                case R.id.receive_dispatch:
                    receiveDispatch();
                    break;
                case R.id.action_steer:
                    intent.setClass(DetailDispatchActivity.this, SteerReportActivity.class);
                    intent.putExtra("dispatch", dispatch);
                    startActivity(intent);
                    finish();
                    break;
                case R.id.btnChuyenTiepXuLy:
                    Department department = new Department();
                    ArrayList<User> listChecked = new ArrayList<User>();
                    ArrayList<Department> listDep = new ArrayList<Department>();
                    ArrayList<User> allUser = new ArrayList<User>();
                    listDep = department.getData(getResources().getString(R.string.api_get_deparment));
                    new DialogChooseUser(DetailDispatchActivity.this, dispatch, listDep, allUser, listChecked);
                    break;
                case R.id.btnChuyenCVThanhCongViec:
                    intent = new Intent();
                    intent.setClass(DetailDispatchActivity.this, ConvertDispatchActivity.class);
                    intent.putExtra("dispatch", dispatch);
                    startActivity(intent);
                    break;
                default:
                    break;
            }
            return false;
        }
    });
}

[Buggy Hunk]
PopupMenu popupMenu = new PopupMenu(DetailDispatchActivity.this, approval);

[Patch]
PopupMenu popupMenu = new PopupMenu(DetailDispatchActivity.this, action);

[Demonstration 2]

[Buggy Method]
@Override
public Future<RpcResult<NetworkLatencyOutput>> networkLatency(final NetworkLatencyInput input) {
    LOG.info("NetworkLatecy detection is invorked");
    LatencyType type = input.getType();
    if (type.equals(LatencyType.SWITCHES)) {
        try {
            nl = new NetworkLatency(packetProcessingService, dataBroker);
            Future<RpcResult<java.lang.Void>> future = nl.execute();
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("NetworkLatency is finished");
        latencyOutput = buildSwSwLatencyOutput();
        LOG.info("finishing build output body");
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return Futures.<RpcResult<NetworkLatencyOutput>>immediateFuture(RpcResultBuilder.<NetworkLatencyOutput>success().withResult(latencyOutput).build());
    }
    return Futures.<RpcResult<NetworkLatencyOutput>>immediateFuture(RpcResultBuilder.<NetworkLatencyOutput>success().withResult(latencyOutput).build());
}

[Buggy Hunk]
System.out.println("NetworkLatency is finished");

[Patch]
LOG.info("NetworkLatency is finished");

[Demonstration 3]

[Buggy Method]
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    new GetData(getApplicationContext()).execute();
    Button createNewEvent = (Button) findViewById(R.id.createNewEvent);
    assert createNewEvent != null;
    createNewEvent.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            startActivity(new Intent(MainActivity.this, Pop.class));
        }
    });
}

[Buggy Hunk]
new GetData(getApplicationContext()).execute();

[Patch]
new GetData().execute();