public TheoryItemPromise(
            string name,
            TheoryItemSetup setup)
        {
            this.name = name
                        ?? throw new ArgumentNullException(nameof(name));

            this.setup = setup;
        }
 public void Deserialize(
     IXunitSerializationInfo info)
 {
     this.name  = info.GetValue <string>(nameof(this.name));
     this.setup = info.GetValue <TheoryItemSetup>(nameof(this.setup));
 }