[Demonstration 1]

[Buggy Method]
public static Helper readAndEncodeByHash(DBConfig db_config, int hash_len) {
    Helper ret = new Helper();
    ArrayList<boolean[][]> retArrList = new ArrayList<>();
    Soundex sdx = new Soundex();
    String[] all_props = db_config.getAll_props();
    int[][] prop_lens = db_config.getProps_len();
    ret.pros = all_props;
    ret.updatingrules(prop_lens);
    try {
        int pos1;
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        final Connection con = DriverManager.getConnection(db_config.getODBC(), db_config.getDB_user(), db_config.getDB_password());
        MessageDigest digest = MessageDigest.getInstance("SHA-256");
        Statement stmn = con.createStatement();
        String id = db_config.getId();
        String sql = "SELECT ";
        sql += (id + " ");
        if (!"".equals(id)) {
            sql += ", ";
            pos1 = 2;
        } else {
            pos1 = 1;
        }
        for (String all_prop : all_props) {
            sql += all_prop;
            sql += ", ";
        }
        sql = sql.substring(0, sql.length() - 2);
        sql += " FROM ";
        sql += db_config.getDB_table();
        //ResultSet rs = con.getTableQuery(sql);
        ResultSet rs = stmn.executeQuery(sql);
        int index1 = 0;
        while (rs.next()) {
            if ("".equals(id)) {
                ret.IDs.add((new Integer(index1++)).toString());
            } else {
                ret.IDs.add(rs.getString("id"));
            }
            String[] coms_strs = new String[prop_lens.length];
            Arrays.fill(coms_strs, "");
            for (int i = 0; i < all_props.length; i++) {
                String temp = rs.getString(i + pos1);
                if (temp == null) {
                    temp = "";
                }
                temp = temp.replace("-", "").toLowerCase();
                //String temp = rs.getString(i + pos1).replace("-", "").toLowerCase();
                for (int j = 0; j < coms_strs.length; j++) {
                    if (prop_lens[j][i] > (Integer.MAX_VALUE / 2)) {
                        coms_strs[j] += sdx.soundex(temp).toLowerCase() + resizeString(temp, Integer.MAX_VALUE - prop_lens[j][i]);
                    } else {
                        coms_strs[j] += resizeString(temp, prop_lens[j][i]);
                    }
                }
            }
            boolean[][] bool_arr = new boolean[coms_strs.length][];
            for (int j = 0; j < coms_strs.length; j++) {
                if (hash_len > 0) {
                    bool_arr[j] = copyOf(bytes2boolean(digest.digest(coms_strs[j].getBytes(StandardCharsets.UTF_8))), hash_len);
                } else {
                    bool_arr[j] = bytes2boolean(coms_strs[j].getBytes(StandardCharsets.US_ASCII));
                }
            }
            retArrList.add(bool_arr);
        }
    } catch (SQLException | NoSuchAlgorithmException | ClassNotFoundException ex) {
        Logger.getLogger(Util.class.getName()).log(Level.SEVERE, null, ex);
    }
    ret.data_bin = new boolean[retArrList.size()][][];
    for (int i = 0; i < ret.data_bin.length; i++) {
        ret.data_bin[i] = retArrList.get(i);
    }
    return ret;
}

[Buggy Hunk]
ret.IDs.add(rs.getString("id"));

[Patch]
ret.IDs.add(rs.getString(id));

[Demonstration 2]

[Buggy Method]
private List<Character> getBasicAlphaBeit(String[] words, int prefixSize) {
    List<Character> ret = new ArrayList();
    if (words == null) {
        return ret;
    }
    for (String w : words) {
        if (!ret.contains(w.charAt(prefixSize))) {
            ret.add(w.charAt(prefixSize));
        }
    }
    return ret;
}

[Buggy Hunk]
if (!ret.contains(w.charAt(prefixSize))) {

[Patch]
if ((w.length() > prefixSize) && (!ret.contains(w.charAt(prefixSize)))) {

[Demonstration 3]

[Buggy Method]
@Override
public Response search() throws IOException {
    final HttpEntity query = kibanaQueryBuilder.query();
    LOGGER.info(EntityUtils.toString(query));
    final RestClient restClient = kibanaRestClient.getRestClient();
    Response response = restClient.performRequest("POST", ELASTIC_MULTI_SEARCH_URL, this.params, query);
    restClient.close();
    return response;
}

[Buggy Hunk]
Response response = restClient.performRequest("POST",

[Patch]
final Response response = restClient.performRequest("POST",