[Demonstration 1]

[Buggy Method]
@Override
public HashMap<String, HashMap<String, String>> loadTranslations(Plugin plugin) {
    HashMap<String, HashMap<String, String>> translations = new HashMap<>();
    File file = new File(plugin.getDataFolder(), "messages.yml");
    YamlConfiguration yaml = YamlConfiguration.loadConfiguration(file);
    for (String lang : yaml.getKeys(false)) {
        HashMap<String, String> translation = new HashMap<>();
        for (String key : yaml.getConfigurationSection(lang).getKeys(false)) {
            translation.put(key, yaml.getString(lang + "." + key));
        }
        translations.put(lang, translation);
    }
    return translations;
}

[Buggy Hunk]
for (String key : yaml.getConfigurationSection(lang).getKeys(false)) {

[Patch]
for (String key : yaml.getConfigurationSection(lang).getKeys(true)) {

[Demonstration 2]

[Buggy Method]
private void onTextChanged(CharSequence newText) {
    mQuery = newText;
    if (mShouldShowProgress) {
        showProgress();
    }
    if (mRecyclerViewAdapter != null && mRecyclerViewAdapter instanceof Filterable) {
        final CharSequence mFilterKey = newText.toString().toLowerCase(Locale.getDefault());
        ((SearchAdapter) mRecyclerViewAdapter).getFilter().filter(newText, new Filter.FilterListener() {

            @Override
            public void onFilterComplete(int i) {
                if (mFilterKey.equals(((SearchAdapter) mRecyclerViewAdapter).getKey())) {
                    if (mShouldShowProgress) {
                        hideProgress();
                    }
                    if (i > 0) {
                        if (mRecyclerView.getVisibility() == View.GONE) {
                            mViewDivider.setVisibility(View.VISIBLE);
                            mRecyclerView.setVisibility(View.VISIBLE);
                            SearchAnimator.fadeIn(mRecyclerView, mAnimationDuration);
                        }
                    } else {
                        if (mRecyclerView.getVisibility() == View.VISIBLE) {
                            mViewDivider.setVisibility(View.GONE);
                            mRecyclerView.setVisibility(View.GONE);
                            SearchAnimator.fadeOut(mRecyclerView, mAnimationDuration);
                        }
                    }
                }
            }
        });
    }
    if (!TextUtils.isEmpty(newText)) {
        mImageViewClear.setVisibility(View.VISIBLE);
        if (mVoice) {
            mImageViewMic.setVisibility(View.GONE);
        }
    } else {
        mImageViewClear.setVisibility(View.GONE);
        if (mVoice) {
            mImageViewMic.setVisibility(View.VISIBLE);
        }
    }
    if (mOnQueryTextListener != null) {
        dispatchFilters();
        mOnQueryTextListener.onQueryTextChange(newText.toString());
    }
}

[Buggy Hunk]
if (i > 0) {

[Patch]
if (i > 0 && mRecyclerViewVariants.getVisibility() == VISIBLE) {

[Demonstration 3]

[Buggy Method]
@Override
public void onClick(View view) {
    loading.setVisibility(View.VISIBLE);
    updateLocation = true;
    checkUsersSettingGPS();
    if (isAddingPerson && userLocation != null) {
        // adding person
        String address = getAddressFromLatLng(userLocation);
        addressField.setText(address);
        addPerson(address, userLocation);
    }
}

[Buggy Hunk]
loading.setVisibility(View.VISIBLE);

[Patch]
setLoading(true);