/// <summary>
 /// Find ISelectable under cursor over element's datacontext, if it's ISelectable.IsSelected,
 /// assign canDragKey to true, otherwise false.
 /// </summary>
 /// <param name="canDragKey"></param>
 /// <returns></returns>
 public static IScriptCommand IfItemUnderMouseIsSelected(IScriptCommand trueCommand = null, IScriptCommand otherwiseCommand = null)
 {
     return
         //Calculate a number of positions.
         (HubScriptCommands.ObtainPointerPosition(
              //Assign the datacontext item of the UIelement that's undermouse to {ItemUnderMouse}
              HubScriptCommands.AssignItemUnderMouse("{ItemUnderMouse}", false,
                                                     //And If it's exists and selected,
                                                     ScriptCommands.IfAssigned("{ItemUnderMouse}",
                                                                               ScriptCommands.IfNotAssigned("{ItemUnderMouse.IsSelected}", trueCommand,
                                                                                                            ScriptCommands.IfTrue("{ItemUnderMouse.IsSelected}", trueCommand,
                                                                                                                                  otherwiseCommand)), otherwiseCommand))));
 }