public override void ExecuteReplication(Connection connection)
            {
                var componentDataArray  = ReplicationComponentGroup.GetComponentArray <SpatialOSExhaustiveMapValue>();
                var spatialEntityIdData = ReplicationComponentGroup.GetComponentDataArray <SpatialEntityId>();

                for (var i = 0; i < componentDataArray.Length; i++)
                {
                    var componentData    = componentDataArray[i];
                    var entityId         = spatialEntityIdData[i].EntityId;
                    var hasPendingEvents = false;

                    if (componentData.DirtyBit || hasPendingEvents)
                    {
                        var update = new global::Improbable.Gdk.Tests.ExhaustiveMapValue.Update();
                        update.SetField2(new global::Improbable.Collections.Map <string, float>(componentData.Field2.ToDictionary(entry => entry.Key, entry => entry.Value)));
                        update.SetField4(new global::Improbable.Collections.Map <string, int>(componentData.Field4.ToDictionary(entry => entry.Key, entry => entry.Value)));
                        update.SetField5(new global::Improbable.Collections.Map <string, long>(componentData.Field5.ToDictionary(entry => entry.Key, entry => entry.Value)));
                        update.SetField6(new global::Improbable.Collections.Map <string, double>(componentData.Field6.ToDictionary(entry => entry.Key, entry => entry.Value)));
                        update.SetField7(new global::Improbable.Collections.Map <string, string>(componentData.Field7.ToDictionary(entry => entry.Key, entry => entry.Value)));
                        update.SetField8(new global::Improbable.Collections.Map <string, uint>(componentData.Field8.ToDictionary(entry => entry.Key, entry => entry.Value)));
                        update.SetField9(new global::Improbable.Collections.Map <string, ulong>(componentData.Field9.ToDictionary(entry => entry.Key, entry => entry.Value)));
                        update.SetField10(new global::Improbable.Collections.Map <string, int>(componentData.Field10.ToDictionary(entry => entry.Key, entry => entry.Value)));
                        update.SetField11(new global::Improbable.Collections.Map <string, long>(componentData.Field11.ToDictionary(entry => entry.Key, entry => entry.Value)));
                        update.SetField12(new global::Improbable.Collections.Map <string, uint>(componentData.Field12.ToDictionary(entry => entry.Key, entry => entry.Value)));
                        update.SetField13(new global::Improbable.Collections.Map <string, ulong>(componentData.Field13.ToDictionary(entry => entry.Key, entry => entry.Value)));
                        update.SetField14(new global::Improbable.Collections.Map <string, int>(componentData.Field14.ToDictionary(entry => entry.Key, entry => entry.Value)));
                        update.SetField15(new global::Improbable.Collections.Map <string, long>(componentData.Field15.ToDictionary(entry => entry.Key, entry => entry.Value)));
                        update.SetField16(new global::Improbable.Collections.Map <string, global::Improbable.EntityId>(componentData.Field16.ToDictionary(entry => entry.Key, entry => new global::Improbable.EntityId(entry.Value))));
                        update.SetField17(new global::Improbable.Collections.Map <string, global::Improbable.Gdk.Tests.SomeType>(componentData.Field17.ToDictionary(entry => entry.Key, entry => global::Generated.Improbable.Gdk.Tests.SomeType.ToSpatial(entry.Value))));
                        SendComponentUpdate(connection, entityId, update);

                        componentData.DirtyBit = false;
                        view.SetComponentObject(entityId, componentData);
                    }
                }
            }
 public static void SendComponentUpdate(Connection connection, long entityId, global::Improbable.Gdk.Tests.ExhaustiveMapValue.Update update)
 {
     connection.SendComponentUpdate(new global::Improbable.EntityId(entityId), update);
 }