code: @Override
    public Class<? extends DatasetVersion> versionClass() {
      if (this.selectionPolicies.size() == 1) {
        return this.selectionPolicies.get(0).versionClass();
      }
  
      Class<? extends DatasetVersion> klazz = this.selectionPolicies.get(0).versionClass();
      for (VersionSelectionPolicy<? extends DatasetVersion> policy : this.selectionPolicies) {
        klazz = commonSuperclass(klazz, policy.versionClass());
      }
      return klazz;
    }
docs: Returns the most specific common superclass for the {@link #versionClass} of each embedded policy.