[Demonstration 1]

[Buggy Method]
public int changeBitToZero(int num, int pos) throws Exception {
    //bitwise mask
    int mask = getMask(pos);
    //11110...1111
    mask = ~mask;
    //update number
    return num & mask;
}

[Buggy Hunk]
public int changeBitToZero(int num, int pos) throws Exception {

[Patch]
public int changeBitToZero(int num, int pos) throws IllegalArgumentException {

[Demonstration 2]

[Buggy Method]
private void useResultToSetTheUi(RealmResults<User> result) {
    if (result.size() > 0) {
        List<User> userList = result.subList(0, result.size());
        adapter.setUserList(userList);
    }
}

[Buggy Hunk]
if (result.size() > 0) {

[Patch]
if (result.size() >= 0) {

[Demonstration 3]

[Buggy Method]
@SuppressWarnings("unchecked")
@Override
public <T> CacheEntry obtain(String key) {
    Cursor result = db.query("SELECT * FROM " + CacheTableMeta.TABLE + " WHERE " + CacheTableMeta.COLUMN_KEY + " = ?", key);
    if (result.getCount() > 1) {
        List values = new ArrayList(result.getCount());
        String keyDb = null;
        Class<?> type = null;
        while (result.moveToNext()) {
            int keyColumnIndex = result.getColumnIndex(CacheTableMeta.COLUMN_KEY);
            int typeColumnIndex = result.getColumnIndex(CacheTableMeta.COLUMN_TYPE);
            int valueColumnIndex = result.getColumnIndex(CacheTableMeta.COLUMN_VALUE);
            try {
                keyDb = result.getString(keyColumnIndex);
                String typeStringDb = result.getString(typeColumnIndex);
                byte[] value = result.getBlob(valueColumnIndex);
                type = Class.forName(typeStringDb);
                String jsonValue = new String(value);
                Object object = gson.fromJson(jsonValue, type);
                values.add((T) type.cast(object));
            } catch (ClassNotFoundException e) {
                // TODO: 17/09/15 Handle this error
                e.printStackTrace();
            }
        }
        return CacheEntry.create(keyDb, type, values);
    } else {
        if (result.moveToFirst()) {
            int keyColumnIndex = result.getColumnIndex(CacheTableMeta.COLUMN_KEY);
            int typeColumnIndex = result.getColumnIndex(CacheTableMeta.COLUMN_TYPE);
            int valueColumnIndex = result.getColumnIndex(CacheTableMeta.COLUMN_VALUE);
            try {
                String keyDb = result.getString(keyColumnIndex);
                String typeStringDb = result.getString(typeColumnIndex);
                byte[] value = result.getBlob(valueColumnIndex);
                Class<?> type = Class.forName(typeStringDb);
                String jsonValue = new String(value);
                Object object = gson.fromJson(jsonValue, type);
                return CacheEntry.create(keyDb, type, (T) type.cast(object));
            } catch (ClassNotFoundException e) {
                // TODO: 17/09/15 Handle this error
                e.printStackTrace();
            }
        }
    }
    return null;
}

[Buggy Hunk]
if (result.getCount() > 1) {

[Patch]
if (result.getCount() >= 1) {