Extracted ICodedInputStream interface
diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
index fbbcad9..53fe9ef 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
@@ -152,10 +152,10 @@
     public static TestOptimizedForSize ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {

       return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();

     }

-    public static TestOptimizedForSize ParseFrom(pb::CodedInputStream input) {

+    public static TestOptimizedForSize ParseFrom(pb::ICodedInputStream input) {

       return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();

     }

-    public static TestOptimizedForSize ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {

+    public static TestOptimizedForSize ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {

       return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();

     }

     public static Builder CreateBuilder() { return new Builder(); }

@@ -325,10 +325,10 @@
     public static TestRequiredOptimizedForSize ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {

       return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();

     }

-    public static TestRequiredOptimizedForSize ParseFrom(pb::CodedInputStream input) {

+    public static TestRequiredOptimizedForSize ParseFrom(pb::ICodedInputStream input) {

       return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();

     }

-    public static TestRequiredOptimizedForSize ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {

+    public static TestRequiredOptimizedForSize ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {

       return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();

     }

     public static Builder CreateBuilder() { return new Builder(); }

@@ -462,10 +462,10 @@
     public static TestOptionalOptimizedForSize ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {

       return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();

     }

-    public static TestOptionalOptimizedForSize ParseFrom(pb::CodedInputStream input) {

+    public static TestOptionalOptimizedForSize ParseFrom(pb::ICodedInputStream input) {

       return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();

     }

-    public static TestOptionalOptimizedForSize ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {

+    public static TestOptionalOptimizedForSize ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {

       return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();

     }

     public static Builder CreateBuilder() { return new Builder(); }