/** * Combines data from a corresponding pull request with data in this issue This method returns a * new combined issue and does not mutate this issue * * @param pullRequest * @return new new combined issue */ public TurboIssue combineWithPullRequest(PullRequest pullRequest) { TurboIssue newIssue = new TurboIssue(this); if (pullRequest.getUpdatedAt() == null) { return newIssue; } LocalDateTime pullRequestUpdatedAt = Utility.dateToLocalDateTime(pullRequest.getUpdatedAt()); if (pullRequestUpdatedAt.isBefore(newIssue.getUpdatedAt())) { return newIssue; } newIssue.setUpdatedAt(pullRequestUpdatedAt); return newIssue; }