| 
					
				 | 
			
			
				@@ -67,8 +67,20 @@ namespace Google.Protobuf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (message is IBufferMessage bufferMessage) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // TODO: actually invoke the method 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // TODO: actually invoke the InternalWriteTo method!!!! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //bufferMessage.InternalWriteTo(ref ctx); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // TODO: get rid of this code! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ctx.CopyStateTo(ctx.state.CodedOutputStream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                try 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // fallback parse using the CodedOutputStream that started current serialization tree 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    message.WriteTo(ctx.state.CodedOutputStream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                finally 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ctx.LoadStateFrom(ctx.state.CodedOutputStream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 |