// Hier wird das ganze was wir mit dem Elternordner gemacht haben für die Unterordner und deren
        // Unterordner bzw. Dateien noch mal getan. Gibt es weitere Unterordner wird die Funktion rekursiv aufgerufen.
        private void FillTWI_TreeView(IList <SharePointFolder> folderList)
        {
            List <SharePointFolder> subfolderList = new List <SharePointFolder>();

            foreach (SharePointFolder folder in folderList)
            {
                if (folder.GetSubFolders().Count > 0)
                {
                    subfolderList.Add(folder);
                }

                foreach (SharePointFolder subFolder in folder.GetSubFolders())
                {
                    TreeNode parentNode;
                    try {
                        parentNode = FindTreeNode(subFolder.GetFolderName());
                    } catch (Exception ex) {
                        MessageBox.Show(ex.Message);
                        logger.Error(ex.Message + "/n" + ex.StackTrace);
                        logger.Debug("Subfoldername: " + subFolder.GetFolderName());
                        return;
                    }
                    if (parentNode != null)
                    {
                        TWI_TreeView.BeginUpdate();
                        parentNode.Nodes.Add(folder.GetFolderName(), folder.GetFolderName(), 0, 0);
                        this.folderList.Add(new TreeNode(folder.GetFolderName()));
                        TWI_TreeView.EndUpdate();
                    }
                }


                if (folder.GetFiles().Count > 0)
                {
                    foreach (SharePointFile file in folder.GetFiles())
                    {
                        TreeNode parentNode;
                        try {
                            parentNode = FindTreeNode(folder.GetFolderName());
                        } catch (Exception ex) {
                            MessageBox.Show(ex.Message);
                            logger.Error(ex.Message + "/n" + ex.StackTrace);
                            logger.Debug("Foldername: " + folder.GetFolderName());
                            return;
                        }
                        if (parentNode != null)
                        {
                            TWI_TreeView.BeginUpdate();
                            parentNode.Nodes.Add(file.GetName(), file.GetName(), 1, 1);
                            this.fileList.Add(new TreeNode(file.GetName()));
                            TWI_TreeView.EndUpdate();
                        }
                    }
                }
            }
            if (subfolderList.Count > 0)
            {
                FillTWI_TreeView(subfolderList);
            }
        }
        // In der Funktion FillTWI_TreeView wird der Treeview aufgebaut es wird der oberste Ordner hinzugefügt
        // und geprüft ob dieser noch Unterordner besitzt. Wenn ja werden die Unterordner ebenfalls auf Unterordner und Dateien
        // geprüft, falls die Unterordner welche besitzen werden sie in eine Liste gespeichert. Anschließend werden
        // die Unterordner des Parentordners in den TreeView gespeichert.
        private void FillTWI_TreeView()
        {
            TWI_TreeView.BeginUpdate();
            TWI_TreeView.Nodes.Add(this.parent.GetFolderName());
            TWI_TreeView.EndUpdate();

            List <SharePointFolder> folderList = new List <SharePointFolder>();

            if (this.parent.GetSubFolders().Count > 0)
            {
                foreach (SharePointFolder subFolder in this.parent.GetSubFolders())
                {
                    if (subFolder.GetSubFolders().Count > 0 || subFolder.GetFiles().Count > 0)
                    {
                        folderList.Add(subFolder);
                    }

                    TWI_TreeView.BeginUpdate();
                    TWI_TreeView.Nodes[0].Nodes.Add(subFolder.GetFolderName(), subFolder.GetFolderName(), 0, 0);
                    this.folderList.Add(new TreeNode(subFolder.GetFolderName()));
                    TWI_TreeView.EndUpdate();
                }
            }

            if (this.parent.GetFiles().Count > 0)
            {
                foreach (SharePointFile file in this.parent.GetFiles())
                {
                    TWI_TreeView.BeginUpdate();
                    TWI_TreeView.Nodes[0].Nodes.Add(file.GetName(), file.GetName(), 1, 1);
                    this.fileList.Add(new TreeNode(file.GetName()));
                    TWI_TreeView.EndUpdate();
                }
            }

            if (folderList.Count > 0)   // folderList ist die Liste mit den Unterordnern des Elternordners, die entweder andere Unterordner oder Dateien enthalten.

            {
                FillTWI_TreeView(folderList);
            }
        }