|  | @@ -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
 | 
	
		
			
				|  |  |              {
 |