[Demonstration 1]

[Buggy Method]
public TextNumber splitNumericAndString(String word) {
    StringBuilder number = new StringBuilder();
    StringBuilder text = new StringBuilder();
    for (Character character : word.toCharArray()) {
        if (Character.isDigit(character)) {
            number.append(character);
        } else {
            text.append(character);
        }
    }
    TextNumber textNumber = new TextNumber();
    textNumber.setNumber(number.toString());
    textNumber.setText(text.toString());
    ;
    return textNumber;
}

[Buggy Hunk]
textNumber.setText(text.toString());;

[Patch]
textNumber.setText(text.toString());

[Demonstration 2]

[Buggy Method]
private void onGetReference(final Reply reply, boolean animation) {
    mReply = reply;
    mLeftText.setText(highlightOp(reply));
    mCenterText.setText("No." + reply.getNMBId());
    mRightText.setText(ReadableTime.getDisplayTime(reply.getNMBTime()));
    mContent.setText(reply.getNMBDisplayContent());
    String thumbKey = reply.getNMBThumbKey();
    String thumbUrl = reply.getNMBThumbUrl();
    boolean showImage;
    boolean loadFromNetwork;
    int ils = Settings.getImageLoadingStrategy();
    if (ils == Settings.IMAGE_LOADING_STRATEGY_ALL || (ils == Settings.IMAGE_LOADING_STRATEGY_WIFI && NMBApplication.isConnectedWifi(getContext()))) {
        showImage = true;
        loadFromNetwork = true;
    } else {
        showImage = Settings.getImageLoadingStrategy2();
        loadFromNetwork = false;
    }
    if (!TextUtils.isEmpty(thumbKey) && !TextUtils.isEmpty(thumbUrl) && showImage) {
        mThumb.setVisibility(View.VISIBLE);
        mThumb.unload();
        mThumb.load(thumbUrl, thumbUrl, loadFromNetwork);
    } else {
        mThumb.setVisibility(View.GONE);
        mThumb.unload();
    }
    mContent.setTextSize(Settings.getFontSize());
    mContent.setLineSpacing(LayoutUtils.dp2pix(getContext(), Settings.getLineSpacing()), 1.0f);
    mViewTransition.showView(1, animation);
    String postId = reply.getNMBPostId();
    if (postId != null && !postId.equals(PostFragment.this.mId) && mDialog != null && mDialog.isShowing()) {
        mButton.setVisibility(View.VISIBLE);
        mButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(getActivity(), PostActivity.class);
                intent.setAction(ACTION_SITE_ID);
                intent.putExtra(KEY_SITE, mSite.getId());
                intent.putExtra(KEY_ID, reply.getNMBPostId());
                startActivity(intent);
            }
        });
    }
    mRequest = null;
    mDialog = null;
}

[Buggy Hunk]
mThumb.load(thumbUrl, thumbUrl, loadFromNetwork);

[Patch]
mThumb.load(thumbKey, thumbUrl, loadFromNetwork);

[Demonstration 3]

[Buggy Method]
@Override
public void initView() {
    activity = this;
    toolbar.setBlackStyle();
    toolbar.setLeftImg(R.mipmap.back_white);
    toolbar.setTitle(getResources().getString(R.string.Chat_Crowdfunding));
    toolbar.setLeftListence(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            ActivityUtil.goBack(activity);
        }
    });
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(activity);
    paymentAdapter = new PaymentAdapter();
    recyclerview.setLayoutManager(linearLayoutManager);
    recyclerview.setAdapter(paymentAdapter);
    paymentAdapter.setItemClickListener(new OnItemClickListener() {

        @Override
        public void itemClick(Connect.CrowdfundingRecord record) {
            if (record != null) {
                BlockchainActivity.startActivity(activity, CurrencyEnum.BTC, record.getTxid());
            }
        }
    });
    String hashid = getIntent().getStringExtra(GATHER_HASHID);
    msgId = getIntent().getStringExtra(GATHER_MSGID);
    requestGatherDetail(hashid);
}

[Buggy Hunk]
String hashid = getIntent().getStringExtra(GATHER_HASHID);

[Patch]
hashid = getIntent().getStringExtra(GATHER_HASHID);