[Demonstration 1]

[Buggy Method]
private void write(MapEncoder<?> paramMap, Parameter parameter) throws IOException {
    paramMap.put("type", "Parameter");
    if (parameter.getDescription() != null) {
        paramMap.startMap("description").put("en", parameter.getDescription()).end();
    }
    if (parameter.getCategories() != null) {
        paramMap.startMap("unit").put("symbol", parameter.getUnits());
    }
    String observedPropertyUri = null;
    if (parameter.getStandardName() != null) {
        observedPropertyUri = "http://vocab.nerc.ac.uk/standard_name/" + parameter.getStandardName();
    }
    MapEncoder<?> obsProp = paramMap.startMap("observedProperty");
    obsProp.startMap("label").put("en", parameter.getTitle()).end();
    if (observedPropertyUri != null) {
        obsProp.put("id", observedPropertyUri);
    }
    if (parameter.getCategories() != null) {
        ArrayEncoder<?> cats = obsProp.startArray("categories");
        for (Category category : parameter.getCategories().values()) {
            MapEncoder<?> catMap = cats.startMap().put("id", category.getId()).startMap("label").put("en", category.getLabel());
            if (category.getColour() != null) {
                catMap.put("preferredColor", GraphicsUtils.colourToHtmlString(category.getColour()));
            }
            catMap.end();
        }
        cats.end();
    }
    obsProp.end();
    if (parameter.getCategories() != null) {
        MapEncoder<?> catEnc = map.startMap("categoryEncoding");
        for (Entry<Integer, Category> entry : parameter.getCategories().entrySet()) {
            catEnc.put(entry.getValue().getId(), entry.getKey());
        }
        catEnc.end();
    }
}

[Buggy Hunk]
.startMap("label").put("en", category.getLabel());

[Patch]
.startMap("label").put("en", category.getLabel()).end();

[Demonstration 2]

[Buggy Method]
public View getView(int position, View convertView, ViewGroup parent) {
    final ViewHolder holder;
    //            View view = convertView;
    if (convertView == null) {
        // if it's not recycled, initialize some attributes
        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = inflater.inflate(R.layout.gridview_layout, parent, false);
        holder = new ViewHolder();
        v.setTag(holder);
    } else {
        v = (View) convertView;
        holder = (ViewHolder) v.getTag();
    }
    holder.imageView = (ImageView) v.findViewById(R.id.image);
    holder.progressBar = (ProgressBar) v.findViewById(R.id.progress);
    int width = gridview.getWidth();
    int margins = (width / 4) / 5;
    gridview.setHorizontalSpacing(margins);
    gridview.setVerticalSpacing(margins);
    // gridview.setColumnWidth(width / 4);
    double widthSize = width / 3.5;
    width = (int) widthSize;
    holder.imageView.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, width));
    FoodItem singleItem = items.get(position);
    ImageLoader.getInstance().displayImage(APIFood + singleItem.getPhoto(), holder.imageView, options, new SimpleImageLoadingListener() {

        @Override
        public void onLoadingStarted(String url, View view) {
            holder.progressBar.setProgress(0);
            holder.progressBar.setVisibility(View.VISIBLE);
        }

        @Override
        public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
            holder.progressBar.setVisibility(View.GONE);
        }

        @Override
        public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
            holder.progressBar.setVisibility(View.GONE);
        }
    });
    return v;
}

[Buggy Hunk]
v = inflater.inflate(R.layout.gridview_layout, parent, false);

[Patch]
v = inflater.inflate(R.layout.gridview_item, parent, false);

[Demonstration 3]

[Buggy Method]
public List<String> getRawProfiles() {
    return profiles;
}

[Buggy Hunk]
public List<String> getRawProfiles() {

[Patch]
public Set<String> getRawProfiles() {