void OnSelectObject(object sender, SelectableObject obj)
 {
     ChangeSelection <Wall>(obj, ref wall);
     ChangeSelection <Product>(obj, ref product);
     if (wall != null && product != null)
     {
         StateManagerUI.ChangeState(StateUI.Reselection);
     }
 }
        void ChangeSelection <T>(SelectableObject inputObject, ref T selectedObject) where T : SelectableObject
        {
            var input = inputObject as T;

            if (input != null)
            {
                if (selectedObject != null)
                {
                    selectedObject.IsSelected = false;
                }
                selectedObject            = input;
                selectedObject.IsSelected = true;
            }
        }