[Demonstration 1]

[Buggy Method]
public String arrayToString(Object[] array) {
    StringBuffer buffer = new StringBuffer();
    for (int i = 0; i < array.length; i++) {
        if (i > 0) {
            buffer.append(arraySeparator);
        }
        buffer.append(objectToString(array[i]));
    }
    return buffer.toString();
}

[Buggy Hunk]
StringBuffer buffer = new StringBuffer();

[Patch]
StringBuilder buffer = new StringBuilder();

[Demonstration 2]

[Buggy Method]
private void WebRequestDialog(JSONObject info) throws JSONException {
    String message = null;
    String app_id = null;
    RequestsDialogBuilder requestDialogBuilder = new WebDialog.RequestsDialogBuilder(mContext);
    // some property need to add
    if ((message = safeGetJsonString(info, "message")) == null) {
        ShareWrapper.onShareResult(mAdapter, ShareWrapper.SHARERESULT_FAIL, "{ \"error_message\" : \" need to add property 'message' \"}");
        return;
    }
    requestDialogBuilder.setMessage(message);
    // some property can be choose
    String to = null;
    if ((to = safeGetJsonString(info, "to")) != null)
        requestDialogBuilder.setTo(to);
    String title = null;
    if ((title = safeGetJsonString(info, "title")) != null)
        requestDialogBuilder.setTitle(title);
    String data = null;
    if ((data = safeGetJsonString(info, "data")) != null)
        requestDialogBuilder.setData(data);
    requestDialogBuilder.setOnCompleteListener(new OnCompleteListener() {

        @Override
        public void onComplete(Bundle values, FacebookException error) {
            if (null != error) {
                StringBuffer buffer = new StringBuffer();
                buffer.append("{\"error_message\":\"").append(error.getMessage()).append("\"}");
                ShareWrapper.onShareResult(mAdapter, ShareWrapper.SHARERESULT_FAIL, buffer.toString());
            } else {
                StringBuffer buffer = new StringBuffer();
                buffer.append("{\"request\":\"");
                buffer.append(values.getString("request"));
                buffer.append("\", \"to\":[");
                Set<String> keys = values.keySet();
                Iterator<String> it = keys.iterator();
                while (it.hasNext()) {
                    String key = it.next();
                    if (!"request".equals(key)) {
                        buffer.append("\"");
                        buffer.append(values.getString(it.next()));
                        buffer.append("\",");
                    }
                }
                //remove the last ,
                buffer.deleteCharAt(buffer.length() - 1);
                buffer.append("]}");
                ShareWrapper.onShareResult(mAdapter, ShareWrapper.SHARERESULT_SUCCESS, buffer.toString());
            }
        }
    });
    requestDialogBuilder.build().show();
}

[Buggy Hunk]
buffer.append(values.getString(it.next()));

[Patch]
buffer.append(values.getString(key));

[Demonstration 3]

[Buggy Method]
@RequestMapping("/github-logado")
public ModelAndView logado(HttpSession sessao) {
    Usuario usuario = new Usuario();
    usuario.setAdmin(true);
    sessao.setAttribute("usuario", usuario);
    ModelAndView mv = new ModelAndView(new RedirectView("/GeradorDeProvas/admin/index"));
    return mv;
}

[Buggy Hunk]
ModelAndView mv = new ModelAndView(new RedirectView("/GeradorDeProvas/admin/index"));

[Patch]
ModelAndView mv = new ModelAndView("redirect:../admin/index");