@Override
  public MutableAnalysisMetadataHolder setAnalysisDate(long date) {
    checkState(!analysisDate.isInitialized(), "Analysis date has already been set");
    this.analysisDate.setProperty(date);
    return this;
  }
@Test
  public void setAnalysisDate_throws_ISE_when_called_twice() {
    AnalysisMetadataHolderImpl underTest = new AnalysisMetadataHolderImpl(editionProvider);
    underTest.setAnalysisDate(SOME_DATE);

    assertThatThrownBy(() -> underTest.setAnalysisDate(SOME_DATE))
      .isInstanceOf(IllegalStateException.class)
      .hasMessage("Analysis date has already been set");
  }