[Demonstration 1]

[Buggy Method]
public Collection<String> autoComplete(String prefix) {
    Trie node = this;
    for (char c : prefix.toCharArray()) {
        if (!node.children.containsKey(c)) {
            return Collections.emptyList();
        }
        node = node.children.get(c);
    }
    return node.allPrefixes(wordSet);
}

[Buggy Hunk]
return node.allPrefixes(wordSet);

[Patch]
return node.allPrefixes();

[Demonstration 2]

[Buggy Method]
public LimitListBean listLimits(int page, int pageSize) {
    LimitListBean list = new LimitListBean();
    list.setPage(page);
    list.setPageSize(pageSize);
    list.setTotal(limits.size());
    int startItem = (page - 1) * pageSize;
    int endItem = startItem + pageSize;
    Collection<StoredLimit> values = limits.values();
    Iterator<StoredLimit> iterator = values.iterator();
    int idx = 0;
    while (iterator.hasNext() && idx < endItem) {
        if (idx >= startItem) {
            list.getLimits().add(iterator.next().getDetails());
        }
        idx++;
    }
    return list;
}

[Buggy Hunk]
list.getLimits().add(iterator.next().getDetails());

[Patch]
list.getLimits().add(iterator.next().getDetails().clone());

[Demonstration 3]

[Buggy Method]
public JiraProject getProjectWorklogBetweenDates(String projectKey, DateTime initialDate, DateTime finalDate) throws Exception {
    Project project = this.jiraUtil.getProjectFromKey(projectKey);
    String jql = "project = " + project.getKey();
    SearchRestClient searchRestClient = this.restClient.getSearchClient();
    SearchResult results = searchRestClient.searchJql(jql, 2000, 0, null).claim();
    List<Issue> issues = (List<Issue>) results.getIssues();
    DateTime creationDate = issues.get(0).getCreationDate();
    Collections.sort(issues, new ComparatorIssue());
    List<JiraIssue> jiraIssues = getAtividadesUsingDateInterval(results, initialDate, finalDate);
    if (jiraIssues.size() > 0) {
        JiraProject jiraproject = new JiraProject();
        jiraproject.setKey(project.getKey());
        jiraproject.setProject(project.getName());
        jiraproject.setAtividades(jiraIssues);
        jiraproject.setDataCreate(creationDate.toDate());
        return jiraproject;
    } else {
        return null;
    }
}

[Buggy Hunk]
List<JiraIssue> jiraIssues = getAtividadesUsingDateInterval(results, initialDate, finalDate);

[Patch]
List<JiraIssue> jiraIssues = getAtividadesUsingDateInterval(issues, initialDate, finalDate);