public void Clone(IGameEntity localEntity)
            {
                var entityKey = localEntity.EntityKey;

                if (filter.IsIncludeEntity(localEntity))
                {
                    var dstEntity = CompensationGameEntity.Allocate(entityKey);
                    dstEntityMap.Add(entityKey, dstEntity);
                    dstEntity.ReleaseReference();
                    foreach (var component in localEntity.SortedComponentList)
                    {
                        if (filter.IsIncludeComponent(localEntity, component))
                        {
                            var remoteComponent = dstEntity.AddComponent(component.GetComponentId());
                            var comp            = remoteComponent as ICloneableComponent;
                            comp.CopyFrom(component);
                        }
                    }
                }
            }