public DiscriminatedUnion(string name, params DiscriminatedUnionCase[] cases)
 {
     Name = name;
     Cases = new DiscriminatedUnionCaseCollection(cases);
     Constructor = new Constructor(name);
     ToStringMethods = new ToStringMethod(name, Cases);
     EqualsMethod = new EqualsMethod(Name, Cases);
 }
 public ToStringMethod(string typeName, DiscriminatedUnionCaseCollection cases)
 {
     TypeName = typeName;
     Cases = cases;
 }
 public EqualsMethod(string typeName, DiscriminatedUnionCaseCollection cases)
 {
     TypeName = typeName;
     _otherVariableName = "other" + typeName;
     Cases = cases;
 }