Merge "Extract an "ArrayMapWithHistory" support class" am: 472f9b1540 am: 7546e0c520 am: ec299a6717

Change-Id: Icaa5a3fa33830cc625ecb75bac0ae107c5414ea7