public boolean setCleanCodeAttribute(DefaultIssue raw, @Nullable CleanCodeAttribute previousCleanCodeAttribute, IssueChangeContext changeContext) {
    CleanCodeAttribute newCleanCodeAttribute = requireNonNull(raw.getCleanCodeAttribute());
    if (Objects.equals(previousCleanCodeAttribute, newCleanCodeAttribute)) {
      return false;
    }
    raw.setFieldChange(changeContext, CLEAN_CODE_ATTRIBUTE, previousCleanCodeAttribute, newCleanCodeAttribute.name());
    raw.setCleanCodeAttribute(newCleanCodeAttribute);
    raw.setUpdateDate(changeContext.date());
    raw.setChanged(true);
    return true;

  }
@Test
  void setCleanCodeAttribute_whenCleanCodeAttributeNotChanged_shouldNotUpdateIssue() {
    issue.setCleanCodeAttribute(CleanCodeAttribute.CLEAR);
    boolean updated = underTest.setCleanCodeAttribute(issue, CleanCodeAttribute.CLEAR, context);

    assertThat(updated).isFalse();
    assertThat(issue.getCleanCodeAttribute()).isEqualTo(CleanCodeAttribute.CLEAR);
  }