public boolean setLocations(DefaultIssue issue, @Nullable Object locations) {
    if (!locationsEqualsIgnoreHashes(locations, issue.getLocations())) {
      issue.setLocations(locations);
      issue.setChanged(true);
      issue.setLocationsChanged(true);
      return true;
    }
    return false;
  }
@Test
  void change_locations_if_secondary_message_changed() {
    DbIssues.Locations locations = DbIssues.Locations.newBuilder()
      .addFlow(DbIssues.Flow.newBuilder()
        .addLocation(DbIssues.Location.newBuilder().setMsg("msg1"))
        .build())
      .build();
    issue.setLocations(locations);
    DbIssues.Locations.Builder builder = locations.toBuilder();
    builder.getFlowBuilder(0).getLocationBuilder(0).setMsg("msg2");
    boolean updated = underTest.setLocations(issue, builder.build());
    assertThat(updated).isTrue();
  }