private void Objects_OnPrimitiveUpdateReal(Simulator simulator, Primitive av, ObjectMovementUpdate update, ulong RegionHandle, ushort TimeDilation)
        {
            if (!IsMaster(simulator))
            {
                return;
            }
            if (av == null)
            {
                return;
            }
            if (av.ID == UUID.Zero)
            {
                return; // too early
            }
            SimObject AV = null;
            Object    Obj;

            //lock (uuidTypeObject)
            if (UUIDTypeObjectTryGetValue(av.ID, out Obj))
            {
                AV = Obj as SimObject;
            }
            else
            {
                if (av.ID == client.Self.AgentID)
                {
                    AV = GetSimObject(av, simulator);
                }
            }
            if (AV != null)
            {
                Primitive prev = AV.Prim;
                if (prev == null)
                {
                    AV.SetFirstPrim(av);
                }
                if (av.ParentID == 0 && !SimRegion.OutOfRegion(av.Position))
                {
                    AV.ResetPrim(av, client, simulator);
                }
                if (prev != null)
                {
                    // parent changed?
                    if (prev.ParentID != av.ParentID)
                    {
                        AV.Parent = null;
                    }
                }

                if (av.ParentID == 0 && !SimRegion.OutOfRegion(update.Position))
                {
                    if (update.Avatar)
                    {
                        SimRegion.GetRegion(simulator).UpdateTraveled(av.ID, av.Position, av.Rotation);
                        //return;
                    }
                }
                if (!MaintainObjectUpdates)
                {
                    return;
                }
                EventQueue.Enqueue(() => Objects_OnObjectUpdated1(simulator, av, updatFromSimObject(AV), RegionHandle, TimeDilation));
            }
        }