[Demonstration 1]

[Buggy Method]
private String getString(HttpURLConnection c) throws IOException {
    try {
        c.connect();
        int httpCode = c.getResponseCode();
        if (200 <= httpCode && httpCode < 300) {
            BufferedReader br = new BufferedReader(new InputStreamReader(c.getInputStream()));
            StringBuilder sb = new StringBuilder();
            String line;
            while ((line = br.readLine()) != null) {
                sb.append(line + "\n");
            }
            br.close();
            return sb.toString();
        } else {
            BufferedReader br = new BufferedReader(new InputStreamReader(c.getErrorStream()));
            StringBuilder sb = new StringBuilder();
            String line;
            while ((line = br.readLine()) != null) {
                sb.append(line + "\n");
            }
            br.close();
            String response = sb.toString();
            throw new IOException("UnsupportedDataTypeException: Fail while reading error response from Perun. Response data: " + response);
        }
    } finally {
        if (c != null) {
            c.disconnect();
        }
    }
}

[Buggy Hunk]
throw new IOException("UnsupportedDataTypeException: Fail while reading error response from Perun. Response data: " + response);

[Patch]
throw new UnsupportedDataTypeException("Fail while reading error response from Perun. Response data: " + response);

[Demonstration 2]

[Buggy Method]
@Override
public User getUserById(int id) {
    logger.debug("getUserById() id : {}", id);
    Session session = sessionFactory.getCurrentSession();
    User user = (User) session.load(User.class, id);
    logger.info("User successfully loaded. User details: {}", user);
    return user;
}

[Buggy Hunk]
User user = (User) session.load(User.class, id);

[Patch]
User user = (User) session.get(User.class, id);

[Demonstration 3]

[Buggy Method]
private String createJsonStringFromInputStream(InputStream inputStream) {
    try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1"), 8);
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) sb.append(line + "\n");
        inputStream.close();
        json = sb.toString();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return json;
}

[Buggy Hunk]
private String createJsonStringFromInputStream(InputStream inputStream){

[Patch]
public static String createJsonStringFromInputStream(InputStream inputStream){