public CreateProgramReleaseRequest(
     ProgramInfo program,
     SemanticVersion version,
     ProgramPackage package,
     IBuild build             = null,
     IRepositoryCommit commit = null)
 {
     Program = program ?? throw new ArgumentNullException(nameof(program));
     Package = package ?? throw new ArgumentNullException(nameof(package));
     Build   = build;
     Version = version;
     Commit  = commit;
 }
 public StartBuildRequest(IProject project, IRepositoryCommit commit)
 {
     Project = project ?? throw new ArgumentNullException(nameof(project));
     Commit  = commit ?? throw new ArgumentNullException(nameof(commit));
 }