[Demonstration 1]

[Buggy Method]
public static Result service(String ownerName, String projectName, String service, boolean isAdvertise) throws IOException, UnsupportedOperationException, ServletException {
    if (!isSupportedService(service)) {
        return forbidden(String.format("Unsupported service: '%s'", service));
    }
    Project project = Project.findByOwnerAndProjectName(ownerName, projectName);
    if (project == null) {
        return notFound();
    }
    models.User user = UserApp.currentUser();
    if (!isAllowed(project, service)) {
        if (user.isAnonymous()) {
            return BasicAuthAction.unauthorized(response());
        } else {
            // If you want the Git client showing your custom message to
            // the user, the Content-Type should be exact "text/plain"
            // without any parameter. For more details, see the code at
            // https://github.com/git/git/commit/426e70d4a11ce3b4f70636d57c6a0ab16ae08a00#diff-eea0ad565ec5903a11b6023755d491cfR154
            response().setHeader("Content-Type", "text/plain");
            return forbidden(String.format("'%s' has no permission to '%s/%s'.", user.name, ownerName, projectName));
        }
    }
    if (isAdvertise) {
        return ok(RepositoryService.gitAdvertise(project, service, response()));
    } else {
        if (request().body().isMaxSizeExceeded()) {
            return status(REQUEST_ENTITY_TOO_LARGE);
        } else {
            user.visits(project);
            return ok(RepositoryService.gitRpc(project, service, request(), response()));
        }
    }
}

[Buggy Hunk]
user.name, ownerName, projectName));

[Patch]
user.loginId, ownerName, projectName));

[Demonstration 2]

[Buggy Method]
private void FillNewsList(final boolean isAutoRefresh) {
    if (AppController.getInstance().GetCurrentFragment().equals("NewsFragment")) {
        if (!isAutoRefresh) {
            swipeRefreshLayout.setRefreshing(true);
        }
        AppController.getInstance().SendAnalytics("Refreshing: News");
        JSONArray obj = new JSONArray();
        JSONObject object = new JSONObject();
        try {
            object.put("categoryID", 1);
            object.put("fromRowNumber", Config.fromRowNumberNews);
        } catch (Exception ex) {
        }
        obj.put(object);
        JsonArrayRequest jsonObjReq = new JsonArrayRequest(Request.Method.POST, Config.itemsURL, obj, new Response.Listener<JSONArray>() {

            @Override
            public void onResponse(JSONArray response) {
                try {
                    for (int i = 0; i < response.length(); i++) {
                        JSONObject jo = response.getJSONObject(i);
                        Item item = new Item();
                        item.setItemId(jo.getInt("Item_Id"));
                        item.setItemSysEntryDateUTC(jo.getLong("Item_Sys_Entry_Date_UTC"));
                        item.setSourceId(jo.getInt("Source_Id"));
                        item.setSourceName(jo.getString("Source_Name"));
                        item.setItemText(jo.getString("Item_Text"));
                        item.setItemUrl(jo.getString("Item_Url"));
                        item.setReplacementUrl(jo.getString("Replacement_Url"));
                        GlobalFunctions.AddNewItem(Config.mapNewsItems, item);
                    }
                } catch (Exception ex) {
                }
                prepareList();
                if (!isAutoRefresh) {
                    swipeRefreshLayout.setRefreshing(false);
                }
            }
        }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                if (!isAutoRefresh) {
                    swipeRefreshLayout.setRefreshing(false);
                }
            }
        }) {
        };
        AppController.getInstance().addToRequestQueue(jsonObjReq);
    }
}

[Buggy Hunk]
if (AppController.getInstance().GetCurrentFragment().equals("NewsFragment")) {

[Patch]
if (AppController.getInstance().GetCurrentFragment() != null && AppController.getInstance().GetCurrentFragment().equals("NewsFragment")) {

[Demonstration 3]

[Buggy Method]
private void fetchDataNormalSearch(String query) {
    searchBooks = new ArrayList<>();
    String url = Uri.parse("https://liborgs-1139.appspot.com/books/search").buildUpon().appendQueryParameter("query", query).build().toString();
    final ProgressDialog dialog = new ProgressDialog(this);
    dialog.setMessage("Searching");
    dialog.setCancelable(false);
    dialog.setInverseBackgroundForced(false);
    dialog.show();
    JsonObjectRequest jObject = new JsonObjectRequest(Method.GET, url, new Response.Listener<JSONObject>() {

        @Override
        public void onResponse(JSONObject response) {
            dialog.hide();
            try {
                boolean status = response.getBoolean("status");
                if (status) {
                    searchBooks.add("Local Results");
                    extractSearchResponse(response);
                    fetchDataGoogleSearch(myEditText.getText().toString());
                    size = searchBooks.size();
                } else {
                    String message = response.getString("message");
                    new AlertDialog.Builder(SearchActivity.this).setTitle("Liborg").setMessage(message).setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {

                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            size = 0;
                            fetchDataGoogleSearch(myEditText.getText().toString());
                        }
                    }).show();
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            dialog.hide();
        }
    });
    RequestQueue queue = Volley.newRequestQueue(this);
    queue.add(jObject);
}

[Buggy Hunk]
size = searchBooks.size();

[Patch]
size = searchBooks.size() - 1;