[Demonstration 1]

[Buggy Method]
protected void onSessionStateChange(Session session, SessionState state, Exception exception) {
    if (session != null && session.isOpened()) {
        logAndShowOnScreen("\nLogged in. Getting user details.");
        Request request = Request.newMeRequest(session, new Request.GraphUserCallback() {

            @Override
            public void onCompleted(GraphUser user, Response response) {
                if (user != null) {
                    System.out.println("onSessionStateChange: LoadNotes: session is open. username:" + user.getName());
                    loadNotes(getActivity(), getLoggedInUsername());
                }
            }
        });
        Request.executeBatchAsync(request);
    } else {
        logAndShowOnScreen("\nUser not already logged in.");
        System.out.println("onSessionStateChange: LoadNotes: session was closed.");
        loadNotes(getActivity(), getLoggedInUsername());
    }
}

[Buggy Hunk]
loadNotes(getActivity(), getLoggedInUsername());

[Patch]
loadNotes(getActivity(), user.getId());

[Demonstration 2]

[Buggy Method]
@Override
public boolean equals(Object obj) {
    if (this == obj) {
        return true;
    }
    if (obj == null || getClass() != obj.getClass()) {
        return false;
    }
    RegionPruneInfo other = (RegionPruneInfo) obj;
    return Objects.equals(regionName, other.getRegionName()) && Objects.equals(regionNameAsString, other.getRegionNameAsString()) && Objects.equals(pruneUpperBound, other.getPruneUpperBound()) && Objects.equals(pruneRecordTime, other.getPruneRecordTime());
}

[Buggy Hunk]
return Objects.equals(regionName, other.getRegionName())

[Patch]
return Arrays.equals(regionName, other.getRegionName())

[Demonstration 3]

[Buggy Method]
@Override
public boolean equals(Object obj) {
    if (obj instanceof MailboxAnnotationKey) {
        MailboxAnnotationKey anotherKey = (MailboxAnnotationKey) obj;
        return Objects.equal(anotherKey.asString(), key);
    } else {
        return false;
    }
}

[Buggy Hunk]
return Objects.equal(anotherKey.asString(), key);

[Patch]
return Objects.equal(anotherKey.asString(), asString());