/// <summary>
        /// Adds a ChatSelection tile the the Chat seletion stack
        /// </summary>
        /// <param name="source"></param>
        /// <param name="args"></param>
        private void Chat_Added(object source, ChatEventArgs args)
        {
            ChatPage          chatPage          = new ChatPage(args.Chat);
            ChatSelectionTile chatSelectionTile = new ChatSelectionTile(chatPage);


            Device.BeginInvokeOnMainThread(() =>
            {
                chatSelectionStack.Children.Add(chatSelectionTile);
                chatSelctScroll.ScrollToAsync(chatSelectionStack, ScrollToPosition.Start, false);
            });

            OrderMostRecentChat(chatSelectionTile);
        }
        /// <summary>
        /// Adds the saved Chats to the UI
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ChatSelection_SavedChatAdded(object sender, ChatEventArgs e)
        {
            List <Chat> savedChats = e.ChatList;
            int         curruntNummerOfChatSeletionTiles = CurrentChatSelectionTiles().Count;

            if (savedChats.Count == curruntNummerOfChatSeletionTiles)
            {
                return;
            }
            else if (savedChats.Count >= curruntNummerOfChatSeletionTiles)
            {
                Device.BeginInvokeOnMainThread(() =>
                {
                    foreach (Chat chat in savedChats)
                    {
                        ChatPage chatPage = new ChatPage(chat);

                        ChatSelectionTile chatSelectionTile = new ChatSelectionTile(chatPage);
                        chatSelectionStack.Children.Add(chatSelectionTile);
                    }
                });
                return;
            }
            else if (savedChats.Count <= curruntNummerOfChatSeletionTiles)
            {
                Device.BeginInvokeOnMainThread(() =>
                {
                    foreach (Chat chat in savedChats)
                    {
                        ChatPage chatPage = new ChatPage(chat);

                        ChatSelectionTile chatSelectionTile = new ChatSelectionTile(chatPage);
                        chatSelectionStack.Children.Add(chatSelectionTile);
                    }
                });
            }
            App.SaveData = GetChatsCurrentChats();
        }
        /// <summary>
        /// Places the last manipulatat ChatSelection tile as the first of the chatSelectionStack
        /// </summary>
        /// <param name="tile"></param>
        public void OrderMostRecentChat(ChatSelectionTile tile)
        {
            //Reordes the List so that the chat with the Newest Message is the first in the Chat Selection stack
            Device.BeginInvokeOnMainThread(() =>
            {
                //Removes Possible duplicats
                List <ChatSelectionTile> selectionTiles = RemoveDuplicats(CurrentChatSelectionTiles());

                selectionTiles.Remove(tile);

                selectionTiles.Reverse();

                selectionTiles.Add(tile);

                selectionTiles.Reverse();

                chatSelectionStack.Children.Clear();
                //add´s the new Order of Chat Seletion Tiles and Removes Duplicats
                foreach (var item in selectionTiles)
                {
                    chatSelectionStack.Children.Add(item);
                }
            });
        }