/// <summary>
        /// Invoked when the client selects a prim.
        /// </summary>
        /// <param name="primLocalID"></param>
        /// <param name="remoteClient"></param>
        public void SelectPrim(uint primLocalID, IClientAPI remoteClient)
        {
            SceneObjectPart part = GetSceneObjectPart(primLocalID);

            if (null == part)
            {
                return;
            }

            if (part.IsRoot)
            {
                SceneObjectGroup sog = part.ParentGroup;
                sog.SendPropertiesToClient(remoteClient);
                sog.IsSelected = true;

                // A prim is only tainted if it's allowed to be edited by the person clicking it.
                if (Permissions.CanEditObject(sog.UUID, remoteClient.AgentId) ||
                    Permissions.CanMoveObject(sog.UUID, remoteClient.AgentId))
                {
                    EventManager.TriggerParcelPrimCountTainted();
                }
            }
            else
            {
                part.SendPropertiesToClient(remoteClient);
            }
        }