Update Surrounded Regions

Input:	["OXOOOOOOO","OOOXOOOOX","OXOXOOOOX","OOOOXOOOO","XOOOOOOOX","XXOOXOXOX","OOOXOOOOO","OOOXOOOOO","OOOOOXXOO"]
Output:	["OXOOOOOOO","OOOXOOOOX","OXOXOOOOX","OXXXXOOOO","XXXXXXXXX","XXXXXXXXX","OOXXOXXXO","OOXXOXXXO","OOOOOXXOO"]
Expected:	["OXOOOOOOO","OOOXOOOOX","OXOXOOOOX","OOOOXOOOO","XOOOOOOOX","XXOOXOXOX","OOOXOOOOO","OOOXOOOOO","OOOOOXXOO"]