code: private synchronized void materializeWorkUnitAndDatasetStates(String datasetUrn) {
      if (!this.areWorkUnitStatesMaterialized) {
        try {
          CombinedWorkUnitAndDatasetState workUnitAndDatasetState =
              this.workUnitAndDatasetStateFunctional.getCombinedWorkUnitAndDatasetState(datasetUrn);
          this.previousWorkUnitStates = workUnitAndDatasetState.getPreviousWorkUnitStates();
          this.previousDatasetStatesByUrns =
              (Map<String, SourceState>) workUnitAndDatasetState.getPreviousDatasetStatesByUrns();
          this.areWorkUnitStatesMaterialized = true;
        } catch (Exception e) {
          throw new RuntimeException(e);
        }
      }
    }
docs: A thread-safe method for materializing previous {@link WorkUnitState}s and DatasetStates.
  @param datasetUrn