Implement protobuf crossover function. am: a77c4ab7c7 am: 364788b7f2 am: b9c5682b0e
am: 17866b94ef

Change-Id: Ie92028ae2aeaecc211b7634711bf10f67783e2e5