public void ReplaceAt(UInt32 tag, WireType wireType, IReader reader, bool shouldNotify) { switch (tag) { case 0: this.UpdateAndNotify(0, None.Deserialize(reader, this.Path.GetNested(0)), shouldNotify); break; case 1: this.UpdateAndNotify(1, Some.Deserialize(reader, this.Path.GetNested(1)), shouldNotify); break; default: reader.SkipToEnd(); break; } }