Setters/adders now throw ArgumentNullException appropriately.
diff --git a/src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs b/src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs
index 743a0c3..09733c3 100644
--- a/src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs
+++ b/src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs
@@ -192,6 +192,7 @@
         set { SetNamespace(value); }
       }
       public Builder SetNamespace(string value) {
+        pb::ThrowHelper.ThrowIfNull(value, "value");
         result.hasNamespace = true;
         result.namespace_ = value;
         return this;
@@ -210,6 +211,7 @@
         set { SetUmbrellaClassname(value); }
       }
       public Builder SetUmbrellaClassname(string value) {
+        pb::ThrowHelper.ThrowIfNull(value, "value");
         result.hasUmbrellaClassname = true;
         result.umbrellaClassname_ = value;
         return this;
@@ -381,6 +383,7 @@
         set { SetPropertyName(value); }
       }
       public Builder SetPropertyName(string value) {
+        pb::ThrowHelper.ThrowIfNull(value, "value");
         result.hasPropertyName = true;
         result.propertyName_ = value;
         return this;