@Override
  public MutableAnalysisMetadataHolder setProject(Project project) {
    checkState(!this.project.isInitialized(), "Project has already been set");
    this.project.setProperty(project);
    return this;
  }
@Test
  public void setProject_throws_ISE_when_called_twice() {
    AnalysisMetadataHolderImpl underTest = new AnalysisMetadataHolderImpl(editionProvider);
    underTest.setProject(Project.from(newPrivateProjectDto()));

    assertThatThrownBy(() -> underTest.setProject(Project.from(newPrivateProjectDto())))
      .isInstanceOf(IllegalStateException.class)
      .hasMessage("Project has already been set");
  }