[Demonstration 1]

[Buggy Method]
@Override
protected void doOpen() {
    Coordinator coordinator = new Coordinator();
    coordinator.setCapabilities(TxnCapability.LOCAL_TXN);
    Source source = new Source();
    String coordinatorName = resource.getSessionId().toString();
    Sender sender = session.getProtonSession().sender(coordinatorName);
    sender.setSource(source);
    sender.setTarget(coordinator);
    sender.setSenderSettleMode(SenderSettleMode.UNSETTLED);
    sender.setReceiverSettleMode(ReceiverSettleMode.FIRST);
    setEndpoint(sender);
    super.doOpen();
}

[Buggy Hunk]
String coordinatorName = resource.getSessionId().toString();

[Patch]
String coordinatorName = "qpid-jms:coordinator:" + resource.getSessionId().toString();

[Demonstration 2]

[Buggy Method]
public void run() {
    String message;
    while (!this.stopFlag.getFlag()) {
        Calendar cal = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        try {
            if (this.in.ready()) {
                message = this.in.readLine();
                String intro = "\n>>>>>> " + languagesController.getWord("RECEIVED_AT") + " " + sdf.format(cal.getTime()) + "\n";
                if (mh.isTerminationMessage(message)) {
                    this.stop();
                } else if (mh.isFileTransmission(message)) {
                    try {
                        int i;
                        String[] messageParts = mh.getContentFromMessage(message);
                        message = intro + mh.messageToFile(messageParts[1], messageParts[2], this.chatManager.getSavedFilesDirectory()) + "\n";
                        this.chatManager.receivedFile(((i = messageParts[1].lastIndexOf(File.separator)) > 0) ? messageParts[1].substring(i + 1) : messageParts[1]);
                    } catch (IOException e) {
                        message = e.getMessage();
                    }
                } else {
                    message = intro + message + "\n";
                }
                this.chatManager.receivedMessage(message);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    try {
        this.in.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

[Buggy Hunk]
this.chatManager.receivedFile(((i = messageParts[1].lastIndexOf(File.separator)) > 0) ? messageParts[1].substring(i+1) : messageParts[1]);

[Patch]
this.chatManager.receivedFile(((i = messageParts[1].lastIndexOf(File.separator.replace("\\", "\\\\"))) > 0) ? messageParts[1].substring(i+1) : messageParts[1]);

[Demonstration 3]

[Buggy Method]
public void generate() {
    ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
    resolver.setTemplateMode(TemplateMode.HTML);
    resolver.setSuffix(".html");
    TemplateEngine engine = new TemplateEngine();
    engine.setTemplateResolver(resolver);
    final Context context = new Context(Locale.getDefault());
    String title = "CSATK Report";
    String date = DateFormat.getDateInstance(DateFormat.LONG, Locale.CHINA).format(new Date());
    context.setVariable("title", title);
    context.setVariable("date", date);
    for (StatType type : StatType.values()) {
        fillData(type, context);
    }
    final String html = engine.process("template", context);
    FileUtil.overwriteFile(html, ConfigInitializer.getPath(Directory.Out.HTML) + "csatk_result.html");
}

[Buggy Hunk]
String date = DateFormat.getDateInstance(DateFormat.LONG, Locale.CHINA).format(new Date());

[Patch]
String date = DateFormat.getDateInstance(DateFormat.LONG, Locale.US).format(new Date());