version 2.4.1.473
diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasIssuesProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasIssuesProtoFile.cs
index be2d202..5bf0284 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasIssuesProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasIssuesProtoFile.cs
@@ -1,4 +1,4 @@
-// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

+// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589.  DO NOT EDIT!

 #pragma warning disable 1591, 0612

 #region Designer generated code

 

@@ -10,7 +10,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public static partial class UnitTestExtrasIssuesProtoFile {

   

     #region Extension registration

@@ -121,7 +121,7 @@
   }

   #region Enums

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public enum NegativeEnum {

     FiveBelow = -5,

     MinusOne = -1,

@@ -129,7 +129,7 @@
   }

   

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public enum DeprecatedEnum {

     one = 1,

   }

@@ -139,7 +139,7 @@
   #region Messages

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class A : pb::GeneratedMessage<A, A.Builder> {

     private A() { }

     private static readonly A defaultInstance = new A().MakeReadOnly();

@@ -249,7 +249,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<A, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -413,7 +413,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class B : pb::GeneratedMessage<B, B.Builder> {

     private B() { }

     private static readonly B defaultInstance = new B().MakeReadOnly();

@@ -523,7 +523,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<B, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -687,7 +687,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class AB : pb::GeneratedMessage<AB, AB.Builder> {

     private AB() { }

     private static readonly AB defaultInstance = new AB().MakeReadOnly();

@@ -797,7 +797,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<AB, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -961,7 +961,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class NumberField : pb::GeneratedMessage<NumberField, NumberField.Builder> {

     private NumberField() { }

     private static readonly NumberField defaultInstance = new NumberField().MakeReadOnly();

@@ -1073,7 +1073,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<NumberField, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1239,7 +1239,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class MyMessageAReferenceB : pb::GeneratedMessage<MyMessageAReferenceB, MyMessageAReferenceB.Builder> {

     private MyMessageAReferenceB() { }

     private static readonly MyMessageAReferenceB defaultInstance = new MyMessageAReferenceB().MakeReadOnly();

@@ -1351,7 +1351,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<MyMessageAReferenceB, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1540,7 +1540,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class MyMessageBReferenceA : pb::GeneratedMessage<MyMessageBReferenceA, MyMessageBReferenceA.Builder> {

     private MyMessageBReferenceA() { }

     private static readonly MyMessageBReferenceA defaultInstance = new MyMessageBReferenceA().MakeReadOnly();

@@ -1652,7 +1652,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<MyMessageBReferenceA, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1841,7 +1841,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class NegativeEnumMessage : pb::GeneratedMessage<NegativeEnumMessage, NegativeEnumMessage.Builder> {

     private NegativeEnumMessage() { }

     private static readonly NegativeEnumMessage defaultInstance = new NegativeEnumMessage().MakeReadOnly();

@@ -2006,7 +2006,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<NegativeEnumMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2272,7 +2272,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class DeprecatedChild : pb::GeneratedMessage<DeprecatedChild, DeprecatedChild.Builder> {

     private DeprecatedChild() { }

     private static readonly DeprecatedChild defaultInstance = new DeprecatedChild().MakeReadOnly();

@@ -2366,7 +2366,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<DeprecatedChild, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -2503,7 +2503,7 @@
   

   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

   [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

   public sealed partial class DeprecatedFieldsMessage : pb::GeneratedMessage<DeprecatedFieldsMessage, DeprecatedFieldsMessage.Builder> {

     private DeprecatedFieldsMessage() { }

     private static readonly DeprecatedFieldsMessage defaultInstance = new DeprecatedFieldsMessage().MakeReadOnly();

@@ -2729,7 +2729,7 @@
     

     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]

     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]

+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")]

     public sealed partial class Builder : pb::GeneratedBuilder<DeprecatedFieldsMessage, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }