boolean (@NotNull Task t1, @NotNull Task t2) { if (!t1.getId().equals(t2.getId())) return false; if (!t1.getSummary().equals(t2.getSummary())) return false; if (t1.isClosed() != t2.isClosed()) return false; if (t1.isIssue() != t2.isIssue()) return false; if (!Comparing.equal(t1.getState(), t2.getState())) return false; if (!Comparing.equal(t1.getType(), t2.getType())) return false; if (!Objects.equals(t1.getDescription(), t2.getDescription())) return false; if (!Comparing.equal(t1.getCreated(), t2.getCreated())) return false; if (!Comparing.equal(t1.getUpdated(), t2.getUpdated())) return false; if (!Objects.equals(t1.getIssueUrl(), t2.getIssueUrl())) return false; if (!Arrays.equals(t1.getComments(), t2.getComments())) return false; if (!Comparing.equal(t1.getIcon(), t2.getIcon())) return false; if (!Objects.equals(t1.getCustomIcon(), t2.getCustomIcon())) return false; return Comparing.equal(t1.getRepository(), t2.getRepository()); }