[Demonstration 1]

[Buggy Method]
public static boolean stackContains(ItemStack[] targetArray, ItemStack stack, final boolean oreDict, final boolean strictNBT, final boolean strictSize) {
    for (ItemStack aStack : targetArray) {
        if (oreDict) {
            int[] idArray = OreDictionary.getOreIDs(stack);
            ArrayList<String> entryArray = new ArrayList<String>();
            for (int id : idArray) {
                entryArray.addAll(Arrays.asList(OreDictionary.getOreName(id)));
            }
            ArrayList<ItemStack> stackArray = new ArrayList<ItemStack>();
            for (String entry : entryArray) {
                stackArray.addAll(OreDictionary.getOres(entry));
            }
            for (ItemStack examining : stackArray) {
                if (OreDictionary.itemMatches(examining, stack, true)) {
                    return true;
                }
            }
        }
        boolean hasStack = OreDictionary.itemMatches(aStack, stack, true);
        if (strictSize)
            hasStack = aStack.stackSize == stack.stackSize;
        if (strictNBT)
            hasStack = aStack.getTagCompound().equals(stack.stackTagCompound);
        if (hasStack)
            return true;
        else
            continue;
    }
    return false;
}

[Buggy Hunk]
hasStack = aStack.getTagCompound().equals(stack.stackTagCompound);

[Patch]
hasStack = aStack.getTagCompound().equals(stack.getTagCompound());

[Demonstration 2]

[Buggy Method]
public T pop() {
    T result = peek();
    stack[(stack.length) - index] = null;
    count--;
    checkSizeAfterPop();
    return result;
}

[Buggy Hunk]
stack[(stack.length)-index] = null;

[Patch]
stack[count-1] = null;

[Demonstration 3]

[Buggy Method]
private void addItem(final Item item) {
    getLoaderManager().restartLoader(LOADER_ADD, null, new LoaderManager.LoaderCallbacks<AddResult>() {

        @Override
        public Loader<AddResult> onCreateLoader(int id, Bundle args) {
            return new AsyncTaskLoader<AddResult>(getContext()) {

                @Override
                public AddResult loadInBackground() {
                    try {
                        return api.add(item.name, item.price, item.type).execute().body();
                    } catch (Exception e) {
                        e.printStackTrace();
                        return null;
                    }
                }
            };
        }

        @Override
        public void onLoadFinished(Loader<AddResult> loader, AddResult data) {
            if (data == null || !data.isSuccess()) {
                Toast.makeText(getContext(), R.string.error, Toast.LENGTH_SHORT).show();
            } else {
                adapter.updateId(item, data.id);
            }
        }

        @Override
        public void onLoaderReset(Loader<AddResult> loader) {
        }
    }).forceLoad();
}

[Buggy Hunk]
getLoaderManager().restartLoader(LOADER_ADD, null, new LoaderManager.LoaderCallbacks<AddResult>() {

[Patch]
getLoaderManager().restartLoader(LOADER_ADD + item.hashCode(), null, new LoaderManager.LoaderCallbacks<AddResult>() {