[Demonstration 1]

[Buggy Method]
public BirthdayCommand parse(String args) throws ParseException {
    try {
        StringTokenizer st = new StringTokenizer(args);
        Index index = ParserUtil.parseIndex(st.nextToken());
        Birthday birthday = new Birthday(st.nextToken());
        return new BirthdayCommand(index, birthday);
    } catch (IllegalValueException ive) {
        throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, BirthdayCommand.MESSAGE_USAGE));
    }
}

[Buggy Hunk]
Birthday birthday = new Birthday(st.nextToken());

[Patch]
Birthday birthday = new Birthday(st.nextToken().substring(2));

[Demonstration 2]

[Buggy Method]
public SaveCommand parse(String args) throws ParseException {
    String trimmedArgs = args.trim();
    File file = new File(trimmedArgs);
    if (!file.isDirectory() || !file.exists()) {
        return new SaveCommand(args.trim());
    } else {
        throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, LoadCommand.MESSAGE_USAGE));
    }
}

[Buggy Hunk]
throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, LoadCommand.MESSAGE_USAGE));

[Patch]
throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, SaveCommand.MESSAGE_USAGE));

[Demonstration 3]

[Buggy Method]
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public JwtUser getById(@PathVariable Long id) {
    //TODO : set current user manually
    User visitor = userRepository.findOne(1L);
    User visited = userRepository.findOne(id);
    if (!visited.equals(visitor)) {
        visitRepository.save(new Visit.VisitBuilder().setVisited(visited).setVisitor(visitor).setVisitedDate(LocalDate.now()).createVisit());
    }
    return UserMapper.toDto(userRepository.findOne(id));
}

[Buggy Hunk]
visitRepository.save(new Visit.VisitBuilder().setVisited(visited).setVisitor(visitor).setVisitedDate(LocalDate.now()).createVisit());

[Patch]
visitRepository.save(new Visit.VisitBuilder().setVisited(visited).setIsSeenByVisited(false).setVisitor(visitor).setVisitedDate(LocalDate.now()).createVisit());