/// <summary>
 /// Initializes a new instance of the <see cref="VersionedFlowSnapshot" /> class.
 /// </summary>
 /// <param name="snapshotMetadata">The metadata for this snapshot (required).</param>
 /// <param name="flowContents">The contents of the versioned flow (required).</param>
 /// <param name="latest">latest.</param>
 public VersionedFlowSnapshot(VersionedFlowSnapshotMetadata snapshotMetadata = default(VersionedFlowSnapshotMetadata), VersionedProcessGroup flowContents = default(VersionedProcessGroup), bool?latest = default(bool?))
 {
     // to ensure "snapshotMetadata" is required (not null)
     if (snapshotMetadata == null)
     {
         throw new InvalidDataException("snapshotMetadata is a required property for VersionedFlowSnapshot and cannot be null");
     }
     else
     {
         this.SnapshotMetadata = snapshotMetadata;
     }
     // to ensure "flowContents" is required (not null)
     if (flowContents == null)
     {
         throw new InvalidDataException("flowContents is a required property for VersionedFlowSnapshot and cannot be null");
     }
     else
     {
         this.FlowContents = flowContents;
     }
     this.Latest = latest;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="VersionedFlowSnapshotMetadataEntity" /> class.
 /// </summary>
 /// <param name="versionedFlowSnapshotMetadata">The collection of versioned flow snapshot metadata.</param>
 /// <param name="registryId">The ID of the Registry that this flow belongs to.</param>
 public VersionedFlowSnapshotMetadataEntity(VersionedFlowSnapshotMetadata versionedFlowSnapshotMetadata = default(VersionedFlowSnapshotMetadata), string registryId = default(string))
 {
     this.VersionedFlowSnapshotMetadata = versionedFlowSnapshotMetadata;
     this.RegistryId = registryId;
 }