diff --git a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/Animal.cs b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/Animal.cs
new file mode 100644
index 00000000000..0d5bbd4aa60
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/Animal.cs
@@ -0,0 +1,121 @@
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+
+namespace IO.Swagger.Model
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class Animal : IEquatable
+ {
+
+ ///
+ /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
+ ///
+ /// ClassName (required).
+
+ public Animal(string ClassName = null)
+ {
+ // to ensure "ClassName" is required (not null)
+ if (ClassName == null)
+ {
+ throw new InvalidDataException("ClassName is a required property for Animal and cannot be null");
+ }
+ else
+ {
+ this.ClassName = ClassName;
+ }
+
+ }
+
+
+ ///
+ /// Gets or Sets ClassName
+ ///
+ [DataMember(Name="className", EmitDefaultValue=false)]
+ public string ClassName { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class Animal {\n");
+ sb.Append(" ClassName: ").Append(ClassName).Append("\n");
+
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ // credit: http://stackoverflow.com/a/10454552/677735
+ return this.Equals(obj as Animal);
+ }
+
+ ///
+ /// Returns true if Animal instances are equal
+ ///
+ /// Instance of Animal to be compared
+ /// Boolean
+ public bool Equals(Animal other)
+ {
+ // credit: http://stackoverflow.com/a/10454552/677735
+ if (other == null)
+ return false;
+
+ return
+ (
+ this.ClassName == other.ClassName ||
+ this.ClassName != null &&
+ this.ClassName.Equals(other.ClassName)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ // credit: http://stackoverflow.com/a/263416/677735
+ unchecked // Overflow is fine, just wrap
+ {
+ int hash = 41;
+ // Suitable nullity checks etc, of course :)
+
+ if (this.ClassName != null)
+ hash = hash * 59 + this.ClassName.GetHashCode();
+
+ return hash;
+ }
+ }
+
+ }
+}
diff --git a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/Cat.cs b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/Cat.cs
new file mode 100644
index 00000000000..8d62273892c
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/Cat.cs
@@ -0,0 +1,138 @@
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+
+namespace IO.Swagger.Model
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class Cat : Animal, IEquatable
+ {
+
+ ///
+ /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
+ ///
+ /// ClassName (required).
+ /// Declawed.
+
+ public Cat(string ClassName = null, bool? Declawed = null)
+ {
+ // to ensure "ClassName" is required (not null)
+ if (ClassName == null)
+ {
+ throw new InvalidDataException("ClassName is a required property for Cat and cannot be null");
+ }
+ else
+ {
+ this.ClassName = ClassName;
+ }
+ this.Declawed = Declawed;
+
+ }
+
+
+ ///
+ /// Gets or Sets ClassName
+ ///
+ [DataMember(Name="className", EmitDefaultValue=false)]
+ public string ClassName { get; set; }
+
+ ///
+ /// Gets or Sets Declawed
+ ///
+ [DataMember(Name="declawed", EmitDefaultValue=false)]
+ public bool? Declawed { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class Cat {\n");
+ sb.Append(" ClassName: ").Append(ClassName).Append("\n");
+ sb.Append(" Declawed: ").Append(Declawed).Append("\n");
+
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public new string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ // credit: http://stackoverflow.com/a/10454552/677735
+ return this.Equals(obj as Cat);
+ }
+
+ ///
+ /// Returns true if Cat instances are equal
+ ///
+ /// Instance of Cat to be compared
+ /// Boolean
+ public bool Equals(Cat other)
+ {
+ // credit: http://stackoverflow.com/a/10454552/677735
+ if (other == null)
+ return false;
+
+ return
+ (
+ this.ClassName == other.ClassName ||
+ this.ClassName != null &&
+ this.ClassName.Equals(other.ClassName)
+ ) &&
+ (
+ this.Declawed == other.Declawed ||
+ this.Declawed != null &&
+ this.Declawed.Equals(other.Declawed)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ // credit: http://stackoverflow.com/a/263416/677735
+ unchecked // Overflow is fine, just wrap
+ {
+ int hash = 41;
+ // Suitable nullity checks etc, of course :)
+
+ if (this.ClassName != null)
+ hash = hash * 59 + this.ClassName.GetHashCode();
+
+ if (this.Declawed != null)
+ hash = hash * 59 + this.Declawed.GetHashCode();
+
+ return hash;
+ }
+ }
+
+ }
+}
diff --git a/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/Dog.cs b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/Dog.cs
new file mode 100644
index 00000000000..2308b7488f1
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClientTest/Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/Dog.cs
@@ -0,0 +1,138 @@
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+
+namespace IO.Swagger.Model
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class Dog : Animal, IEquatable
+ {
+
+ ///
+ /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
+ ///
+ /// ClassName (required).
+ /// Breed.
+
+ public Dog(string ClassName = null, string Breed = null)
+ {
+ // to ensure "ClassName" is required (not null)
+ if (ClassName == null)
+ {
+ throw new InvalidDataException("ClassName is a required property for Dog and cannot be null");
+ }
+ else
+ {
+ this.ClassName = ClassName;
+ }
+ this.Breed = Breed;
+
+ }
+
+
+ ///
+ /// Gets or Sets ClassName
+ ///
+ [DataMember(Name="className", EmitDefaultValue=false)]
+ public string ClassName { get; set; }
+
+ ///
+ /// Gets or Sets Breed
+ ///
+ [DataMember(Name="breed", EmitDefaultValue=false)]
+ public string Breed { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class Dog {\n");
+ sb.Append(" ClassName: ").Append(ClassName).Append("\n");
+ sb.Append(" Breed: ").Append(Breed).Append("\n");
+
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public new string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ // credit: http://stackoverflow.com/a/10454552/677735
+ return this.Equals(obj as Dog);
+ }
+
+ ///
+ /// Returns true if Dog instances are equal
+ ///
+ /// Instance of Dog to be compared
+ /// Boolean
+ public bool Equals(Dog other)
+ {
+ // credit: http://stackoverflow.com/a/10454552/677735
+ if (other == null)
+ return false;
+
+ return
+ (
+ this.ClassName == other.ClassName ||
+ this.ClassName != null &&
+ this.ClassName.Equals(other.ClassName)
+ ) &&
+ (
+ this.Breed == other.Breed ||
+ this.Breed != null &&
+ this.Breed.Equals(other.Breed)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ // credit: http://stackoverflow.com/a/263416/677735
+ unchecked // Overflow is fine, just wrap
+ {
+ int hash = 41;
+ // Suitable nullity checks etc, of course :)
+
+ if (this.ClassName != null)
+ hash = hash * 59 + this.ClassName.GetHashCode();
+
+ if (this.Breed != null)
+ hash = hash * 59 + this.Breed.GetHashCode();
+
+ return hash;
+ }
+ }
+
+ }
+}