[Demonstration 1]

[Buggy Method]
@Override
public int fill(FluidStack resource, boolean doFill) {
    for (int i = 0; i < amount; i++) {
        if (tanks[i].getFluid().isFluidEqual(resource)) {
            return tanks[i].fill(resource, doFill);
        }
    }
    for (int i = 0; i < amount; i++) {
        if (tanks[i].getFluid() == null || tanks[i].getFluidAmount() <= 0) {
            return tanks[i].fill(resource, doFill);
        }
    }
    return 0;
}

[Buggy Hunk]
if (tanks[i].getFluid().isFluidEqual(resource))

[Patch]
if (tanks[i].getFluid() != null && tanks[i].getFluid().isFluidEqual(resource))

[Demonstration 2]

[Buggy Method]
private String getTemplate(boolean full, int item, int slot, int npc) {
    String request = !full ? "INSERT INTO `world`.`npc_vendor` " + "(`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`, `VerifiedBuild`) " + "VALUES ('%s', '%s', '%s', '0', '0', '0', '0')" : ",('%s', '%s', '%s', '0', '0', '0', '0')";
    return String.format(request, npc, slot, item);
}

[Buggy Hunk]
private String getTemplate(boolean full, int item, int slot, int npc) {

[Patch]
private String getTemplate(boolean full, int npc, int slot, int item) {

[Demonstration 3]

[Buggy Method]
public void setSelectedDisplays(List<ImageDisplay> nodes) {
    if (CollectionUtils.isEmpty(nodes)) {
        if (model instanceof WellsModel) {
            ((WellsModel) model).setSelectedWells(null);
            view.onSelectedWell();
        }
        return;
    }
    if (nodes.size() == 1) {
        setSelectedDisplay(nodes.get(0));
        return;
    }
    final List<ImageNode> visibleNodes = model.getBrowser().getVisibleImageNodes();
    final List<Long> visibleObjectIds = new ArrayList<Long>(visibleNodes.size());
    for (final ImageNode visibleNode : visibleNodes) {
        final Object hierarchyObject = visibleNode.getHierarchyObject();
        if (hierarchyObject instanceof ImageData)
            visibleObjectIds.add(((ImageData) hierarchyObject).getId());
    }
    List<Object> others = new ArrayList<Object>();
    List<Object> objects = new ArrayList<Object>();
    objects.add(others);
    for (final ImageDisplay node : nodes) {
        final Object hierarchyObject;
        if (node instanceof WellSampleNode && ((WellSampleNode) node).isWell())
            hierarchyObject = ((WellSampleNode) node).getParentWell().getHierarchyObject();
        else
            hierarchyObject = node.getHierarchyObject();
        if (!(hierarchyObject instanceof ImageData) || visibleObjectIds.contains(((ImageData) hierarchyObject).getId()))
            others.add(hierarchyObject);
    }
    ImageDisplay node = nodes.get(0);
    Object object = node.getHierarchyObject();
    if (object instanceof DataObject) {
        Object parent = null;
        if (object instanceof WellSampleData && !((WellSampleNode) node).isWell()) {
            WellSampleNode wsn = (WellSampleNode) node;
            parent = wsn.getParentObject();
            List<WellSampleNode> wells = new ArrayList<WellSampleNode>();
            Iterator<ImageDisplay> i = nodes.iterator();
            ImageDisplay n;
            while (i.hasNext()) {
                n = i.next();
                if (n instanceof WellSampleNode) {
                    wsn = (WellSampleNode) n;
                    wells.add(wsn);
                }
            }
            ((WellsModel) model).setSelectedWells(wells);
            view.onSelectedWell();
        } else {
            ImageDisplay p = node.getParentDisplay();
            if (p != null) {
                parent = p.getHierarchyObject();
                if (!(parent instanceof DataObject))
                    parent = model.getParent();
            }
        }
        if (parent != null)
            objects.add(parent);
    }
    firePropertyChange(SELECTED_DATA_BROWSER_NODES_DISPLAY_PROPERTY, null, objects);
}

[Buggy Hunk]
if (object instanceof WellSampleData && !((WellSampleNode)node).isWell()) {

[Patch]
if (object instanceof WellSampleData) {