public override void ExecuteReplication(Connection connection)
            {
                var componentDataArray  = ReplicationComponentGroup.GetComponentDataArray <SpatialOSNestedComponent>();
                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.NestedComponent.Update();
                        update.SetNestedType(global::Generated.Improbable.Gdk.Tests.TypeName.ToSpatial(componentData.NestedType));
                        SendComponentUpdate(connection, entityId, update);

                        componentData.DirtyBit = false;
                        componentDataArray[i]  = componentData;
                    }
                }
            }
 public static void SendComponentUpdate(Connection connection, long entityId, global::Improbable.Gdk.Tests.NestedComponent.Update update)
 {
     connection.SendComponentUpdate(new global::Improbable.EntityId(entityId), update);
 }