[Demonstration 1]

[Buggy Method]
@NonNull
public static <T> T nonNull(@Nullable final T reference, final String message) {
    if (reference != null) {
        return reference;
    }
    // NOPMD - we want to throw NPE here
    throw new NullPointerException(message);
}

[Buggy Hunk]
throw new NullPointerException(message); // NOPMD - we want to throw NPE here

[Patch]
throw new IllegalArgumentException(message);

[Demonstration 2]

[Buggy Method]
@Override
protected Criteria makeCriteria(Friend model) {
    Criteria criteria = null;
    if (StringUtils.isNotEmpty(model.getId())) {
        criteria = makeCriteria(criteria, "_id", new ObjectId(model.getId()));
    }
    if (StringUtils.isNotEmpty(model.getKeyUserId())) {
        criteria = makeCriteria(criteria, "key_user_id", model.getKeyUserId());
    }
    if (StringUtils.isNotEmpty(model.getRemark())) {
        criteria = makeCriteria(criteria, "remark", model.getRemark());
    }
    if (StringUtils.isNotEmpty(model.getUser())) {
        criteria = makeCriteria(criteria, "user", model.getUser());
    }
    if (!model.isAll())
        criteria = makeCriteria(criteria, "blacklist", model.isBlacklist());
    return criteria;
}

[Buggy Hunk]
criteria = makeCriteria(criteria, "remark", model.getRemark());

[Patch]
criteria = makeCriteriaRegex(criteria, "remark", "^.*" + model.getRemark() + ".*$");//模糊查询

[Demonstration 3]

[Buggy Method]
private boolean isPinStored() {
    return sharedPreferences.contains(KEY);
}

[Buggy Hunk]
private boolean isPinStored() {

[Patch]
public static boolean isPinStored() {