[Demonstration 1]

[Buggy Method]
public void stop() {
    if (task != null)
        task.cancel();
}

[Buggy Hunk]
if (task != null) task.cancel();

[Patch]
if (task != null) timer.cancel();

[Demonstration 2]

[Buggy Method]
@Override
public AEMTarOptimizationLogLine parseLogLine(String logLine) {
    if (AssertUtils.isEmpty(logLine)) {
        return null;
    }
    AEMTarOptimizationLogLine line = new AEMTarOptimizationLogLine();
    StringTokenReader reader = new StringTokenReader(logLine);
    if (reader.hasNext()) {
        String date = reader.readTillNext('*');
        try {
            line.timestamp = DATE_PARSER.parse(date).getTime();
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
    if (reader.hasNext()) {
        line.level = reader.readTillNext('*');
    }
    if (reader.hasNext()) {
        line.thread = reader.readBetween('[', ']');
    }
    if (reader.hasNext()) {
        line.clazz = reader.readBetween(' ', ' ');
    }
    if (reader.hasNext()) {
        line.tarFile = reader.readTillNext(" id:");
    }
    if (reader.hasNext()) {
        line.id = LogParserUtils.asInt(reader.readTillNext("length:"));
    }
    if (reader.hasNext()) {
        line.length = LogParserUtils.asLong(reader.readTillNext("append:"));
    }
    if (reader.hasNext()) {
        line.append = LogParserUtils.asLong(reader.readTillNext(' '));
    }
    if (reader.hasNext()) {
        line.identityHashCode = LogParserUtils.asLong(reader.readTillNext(' '));
    }
    if (reader.hasNext()) {
        reader.readTillNext("optimize:");
        line.optimize = LogParserUtils.asLong(reader.getRemaining());
    }
    return line;
}

[Buggy Hunk]
line.clazz = reader.readBetween(' ', ' ');

[Patch]
line.clazz = reader.readTillNext(' ', 2).trim();

[Demonstration 3]

[Buggy Method]
public String readLocationString(XMLStreamReader reader) throws XMLStreamException {
    boolean found = checkElementName(reader, "LocationString");
    if (!found)
        throw new XMLStreamException(ERROR_INVALID_ELT + reader.getName() + errorLocationString(reader));
    return reader.getElementText();
}

[Buggy Hunk]
return reader.getElementText();

[Patch]
return trimStringValue(reader.getElementText());