Release implements Comparable<Release> { public static Release Parse(Map item) { String releaseId = item.get("Id").toString(); OctopusDate assembledDate = OctopusDate.Parse(item.get("Assembled").toString()); String version = item.get("Version").toString(); String projectId = item.get("ProjectId").toString(); return new Release(releaseId, assembledDate, version, projectId); } Release(@NotNull String releaseId, @NotNull OctopusDate assembledDate, @NotNull String version, @NotNull String projectId); @Override String toString(); static Release Parse(Map item); static Release Parse(String pair); @Override int compareTo(Release o); @Override boolean equals(Object obj); @NotNull
    final String releaseId; @NotNull
    final OctopusDate assembledDate; @NotNull
    final String version; @NotNull
    final String projectId; }
@Test(expectedExceptions = NeedToDeleteAndRecreateTriggerException.class) public void parse_throws_exception_if_format_is_different() throws NeedToDeleteAndRecreateTriggerException { Release.Parse("Releases-91;2016-01-21T13:32:59.991+00:00;1.0.0"); }