[Demonstration 1]

[Buggy Method]
final protected String merge(String uri) {
    Template template = getTemplate(uri, true);
    // System.out.println(viewname + "=>" + template);
    StringWriter writer = null;
    try {
        if (template != null) {
            writer = new StringWriter();
            template.merge(context, writer);
            writer.flush();
            return writer.toString();
        }
    } catch (Exception e) {
        if (log.isErrorEnabled())
            log.error(e.getMessage(), e);
    } finally {
        try {
            if (writer != null) {
                writer.close();
            }
        } catch (IOException e) {
            if (log.isErrorEnabled())
                log.error(e);
        }
    }
    return null;
}

[Buggy Hunk]
final protected String merge(String uri) {

[Patch]
final public String merge(String uri) {

[Demonstration 2]

[Buggy Method]
@Override
protected void initWidgetsActions() {
    mQueryBox.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (LoginInterceporUtil.pauseRedirect(getApplicationContext())) {
                return;
            }
            String text = mEditText.getText().toString();
            if (TextUtils.isEmpty(text)) {
                ToastUtil.showToast(getApplicationContext(), R.string.input_error);
                return;
            }
            if (mProgressBar.getVisibility() == View.VISIBLE) {
                return;
            }
            mProgressBar.setVisibility(View.VISIBLE);
            mRestfulRequest.queryChecked(text, CacheDBUtil.getSessionId(getApplicationContext()), new Callback<JSONObject>() {

                @Override
                public void success(final JSONObject jsonObject, Response response) {
                    mExecutorService.execute(new Runnable() {

                        @Override
                        public void run() {
                            final Object object = GoodsParse.parse(jsonObject);
                            if (isFinishing()) {
                                return;
                            }
                            getHandler().post(new Runnable() {

                                @Override
                                public void run() {
                                    if (object == null) {
                                        mProgressBar.setVisibility(View.GONE);
                                        ToastUtil.showToast(getApplicationContext(), R.string.loading_fail2);
                                    } else {
                                        if (object instanceof ErrorModel) {
                                            mProgressBar.setVisibility(View.GONE);
                                            ToastUtil.showToast(getApplicationContext(), ((ErrorModel) object).mInfo);
                                        } else if (object instanceof List) {
                                            LinkedList<GoodsModel> goodsList = (LinkedList<GoodsModel>) object;
                                            if (goodsList.isEmpty()) {
                                                mProgressBar.setVisibility(View.GONE);
                                                ToastUtil.showToast(getApplicationContext(), R.string.loading_fail2);
                                            } else {
                                                mProgressBar.setVisibility(View.GONE);
                                                Intent intent = new Intent(QueryActivity.this, QueryResultActivity.class);
                                                intent.putExtra(QueryResultActivity.MODEL, goodsList.get(0));
                                                startActivity(intent);
                                            }
                                        } else {
                                            mProgressBar.setVisibility(View.GONE);
                                            ToastUtil.showToast(getApplicationContext(), R.string.loading_fail2);
                                        }
                                    }
                                }
                            });
                        }
                    });
                }

                @Override
                public void failure(RetrofitError error) {
                    mProgressBar.setVisibility(View.GONE);
                    ToastUtil.showToast(getApplicationContext(), R.string.loading_fail2);
                }
            });
        }
    });
    mEditText.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
        }
    });
    mKeyboardAdapter.setOnItemClickListener(new KeyboardAdapter.OnItemClickListener() {

        @Override
        public void onItemClick(String str) {
            if (!str.equals("del")) {
                String text = mEditText.getText().toString();
                mEditText.setText(text + str);
                mEditText.setSelection(text.length() + 1);
            } else {
                onDelEvent();
            }
        }

        @Override
        public void onLongClick(String text) {
            mHandler.sendEmptyMessage(DEL_CODE);
        }

        @Override
        public void onTouch(MotionEvent event, String text) {
            if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL) {
                mHandler.removeMessages(DEL_CODE);
            }
        }
    });
    mBackBox.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            finish();
        }
    });
    mClearImg.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mEditText.setText("");
        }
    });
}

[Buggy Hunk]
final Object object = GoodsParse.parse(jsonObject);

[Patch]
final Object object = TicketParse.parse(jsonObject);

[Demonstration 3]

[Buggy Method]
private NodeRef createSite(String shortName, String name, String description, String sbsys, String center_id, SiteVisibility siteVisibility) {
    SiteInfo site = siteService.createSite("site-dashboard", shortName, name, description, siteVisibility);
    updateSite(site, name, description, sbsys, center_id, OpenDeskModel.STATE_ACTIVE);
    // create documentLibary
    String defaultFolder = "documentLibrary";
    Map<QName, Serializable> documentLibaryProps = new HashMap<>();
    documentLibaryProps.put(ContentModel.PROP_NAME, defaultFolder);
    ChildAssociationRef child = nodeService.createNode(site.getNodeRef(), ContentModel.ASSOC_CONTAINS, QName.createQName(OpenDeskModel.OD_PREFIX, "documentLibrary"), ContentModel.TYPE_FOLDER, documentLibaryProps);
    return site.getNodeRef();
}

[Buggy Hunk]
ChildAssociationRef child = nodeService.createNode(site.getNodeRef(), ContentModel.ASSOC_CONTAINS, QName.createQName(OpenDeskModel.OD_PREFIX, "documentLibrary"), ContentModel.TYPE_FOLDER, documentLibaryProps);

[Patch]
ChildAssociationRef child = nodeService.createNode(site.getNodeRef(), ContentModel.ASSOC_CONTAINS, QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "documentLibrary"), ContentModel.TYPE_FOLDER, documentLibaryProps);