[Demonstration 1]

[Buggy Method]
public static void main(String[] args) {
    try {
        String path = args[0];
        Parser parser = new Parser(path);
        parser.analyzerFile(path);
        parser.parser();
        System.out.println(LEGAL_FILE);
    } catch (ArrayIndexOutOfBoundsException e) {
        System.err.println(e.getMessage());
    } catch (IOException e) {
        System.out.println(FILE_ERROR);
    } catch (IllegalException e) {
        System.err.println(e.getMessage());
        System.out.println(ILLEGAL_FILE);
    }
}

[Buggy Hunk]
Parser parser = new Parser(path);

[Patch]
Parser parser = new Parser();

[Demonstration 2]

[Buggy Method]
public void save(Object obj) {
    Session session = null;
    try {
        session = getSessionFactory().openSession();
        session.beginTransaction();
        session.save(obj);
        session.getTransaction().commit();
    } catch (Exception ex) {
        System.out.println("Error executing select");
        throw ex;
    } finally {
        session.close();
    }
}

[Buggy Hunk]
System.out.println("Error executing select");

[Patch]
logger.error("Error executing save", ex);

[Demonstration 3]

[Buggy Method]
public void writeInit() {
    try {
        // SP = 256
        out.write("@256");
        out.newLine();
        out.write("D = A");
        out.newLine();
        out.write("@SP");
        out.newLine();
        out.write("M = D");
        out.newLine();
        // call Sys.init
        writeCall("Sys.init", 0);
    } catch (IOException e) {
        System.out.println(e);
    }
}

[Buggy Hunk]
writeCall("Sys.init", 0);

[Patch]
writeCall("Sys.init", "0");