[Demonstration 1]

[Buggy Method]
long crc32(long address, long offset, long len) {
    CRC32 crc = new CRC32();
    for (; len-- > 0; len--, offset++) crc.update(Uns.getByte(address, offset));
    long h = crc.getValue();
    h |= h << 32;
    return h;
}

[Buggy Hunk]
for (; len-- > 0; len--, offset++)

[Patch]
for (; len-- > 0; offset++)

[Demonstration 2]

[Buggy Method]
@Override
public Set<BundleInfo> getBundles() throws ApplicationServiceException {
    Set<BundleInfo> bundles = new TreeSet<>(new BundleInfoComparator());
    for (Feature curFeature : getFeatures()) {
        bundles.addAll(curFeature.getBundles());
    }
    return bundles;
}

[Buggy Hunk]
Set<BundleInfo> bundles = new TreeSet<>(new BundleInfoComparator());

[Patch]
Set<BundleInfo> bundles = new TreeSet<>(new ApplicationImpl.BundleInfoComparator());

[Demonstration 3]

[Buggy Method]
final protected JSONObject getJSONNonPassword() {
    if (_json == null) {
        getJSON();
    }
    JSONObject jo = JSONObject.fromObject(_json);
    // mix the password
    for (Object name : jo.keySet()) {
        if ("password".equals(name) || "pwd".equals(name) || "passwd".equals(name)) {
            jo.put(name, "*******");
        }
    }
    return jo;
}

[Buggy Hunk]
final protected JSONObject getJSONNonPassword() {

[Patch]
final public JSONObject getJSONNonPassword() {