version 2.4.1.473
diff --git a/src/ProtocolBuffersLite.Test/TestProtos/UnitTestExtrasFullProtoFile.cs b/src/ProtocolBuffersLite.Test/TestProtos/UnitTestExtrasFullProtoFile.cs
index ba46dc6..998f861 100644
--- a/src/ProtocolBuffersLite.Test/TestProtos/UnitTestExtrasFullProtoFile.cs
+++ b/src/ProtocolBuffersLite.Test/TestProtos/UnitTestExtrasFullProtoFile.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 UnitTestExtrasFullProtoFile {

   

     #region Extension registration

@@ -126,7 +126,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 TestInteropPerson : pb::ExtendableMessage<TestInteropPerson, TestInteropPerson.Builder> {

     private TestInteropPerson() { }

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

@@ -153,10 +153,10 @@
     #region Nested types

     [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 class Types {

       [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 PhoneType {

         MOBILE = 0,

         HOME = 1,

@@ -165,7 +165,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 PhoneNumber : pb::GeneratedMessage<PhoneNumber, PhoneNumber.Builder> {

         private PhoneNumber() { }

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

@@ -252,7 +252,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<PhoneNumber, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -366,7 +366,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 Addresses : pb::GeneratedMessage<Addresses, Addresses.Builder> {

         private Addresses() { }

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

@@ -484,7 +484,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<Addresses, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -776,7 +776,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::ExtendableBuilder<TestInteropPerson, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1029,7 +1029,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 TestInteropEmployeeId : pb::GeneratedMessage<TestInteropEmployeeId, TestInteropEmployeeId.Builder> {

     private TestInteropEmployeeId() { }

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

@@ -1106,7 +1106,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<TestInteropEmployeeId, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1200,7 +1200,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 TestMissingFieldsA : pb::GeneratedMessage<TestMissingFieldsA, TestMissingFieldsA.Builder> {

     private TestMissingFieldsA() { }

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

@@ -1227,11 +1227,11 @@
     #region Nested types

     [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 class Types {

       [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 SubA : pb::GeneratedMessage<SubA, SubA.Builder> {

         private SubA() { }

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

@@ -1321,7 +1321,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<SubA, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -1530,7 +1530,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<TestMissingFieldsA, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }

@@ -1705,7 +1705,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 TestMissingFieldsB : pb::GeneratedMessage<TestMissingFieldsB, TestMissingFieldsB.Builder> {

     private TestMissingFieldsB() { }

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

@@ -1732,11 +1732,11 @@
     #region Nested types

     [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 class Types {

       [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 SubB : pb::GeneratedMessage<SubB, SubB.Builder> {

         private SubB() { }

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

@@ -1816,7 +1816,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<SubB, Builder> {

           protected override Builder ThisBuilder {

             get { return this; }

@@ -2005,7 +2005,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<TestMissingFieldsB, Builder> {

       protected override Builder ThisBuilder {

         get { return this; }