private void DefaultInit()
    {
        if (this.treeviewIcons == null)
        {
            this.treeviewIcons = new TextureAssetTreeviewIcons <Treeview_DataModel>();
        }

        this.iconRenderer           = new GuiTreeviewIconRenderer <Treeview_DataModel>(this.gui, this.treeviewIcons);
        this.hierarchyLinesRenderer = new TreeviewHierarchyLinesRenderer <Treeview_DataModel>(this.iconRenderer);
        this.rowRenderer            = new GuiTreeviewRowRenderer <Treeview_DataModel>(this.guiLayout, this.iconRenderer, this.rowClickableLocations, this.hierarchyLinesRenderer);

        this.treeviewRenderer = new GuiTreeviewRenderer <Treeview_DataModel>(this.guiLayout, this.rowClickableLocations, this.cachingObserver, this.rowRenderer);

        this.treeview = new Treeview <Treeview_DataModel>();
    }
    //////////////////////////////////////////////////////
    //// FUNCIONS FOR EXTERNAL ACCESS

    public void AddUnknownEntityToTreeview(int entityID)
    {
        finishedInitTreeviewHandler = false;

        //cloning entity
        GameObject clone = new GameObject();

        clone.name = "" + entityID;
        GameObject model = Instantiate(Resources.Load("Models/vojak") as GameObject);

        model.transform.parent   = clone.transform;
        clone.transform.position = new Vector3(0, UnityEngine.Random.Range(-1000000, -10000));

        foreach (Transform child in model.transform)
        {
            child.GetComponent <Renderer>().material             = this.entityHandlerScript.materialUnknownForces;
            child.GetComponent <Renderer>().material.mainTexture = this.entityHandlerScript.militaryTexture;
        }

        // should not occur
        // adding to treeview
        if (TreeView.ItemsSource.Children.Count < 3)
        {
            Debug.Log("Not enough children of root parent!");
            finishedInitTreeviewHandler = true;
            return;
        }

        TreeView.ItemsSource.Children[3].Children.Add(
            new Treeview_DataModel {
            Text = Constants.UnknownEntityName + entityID, EntityID = entityID, IsUnit = false, Health = 0, Father = TreeView.ItemsSource.Children[3]
        });

        this.rowContentActivator = new RowContentActivator <Treeview_DataModel>();
        this.cachingObserver     = new CachingObserver <Treeview_DataModel>(this.log);
        this.treeviewRenderer    = new GuiTreeviewRenderer <Treeview_DataModel>(this.guiLayout, this.rowClickableLocations, this.cachingObserver, this.rowRenderer);

        RecursionUtil.Treeview_SetGameObjects_Rec(TreeView.ItemsSource);
        finishedInitTreeviewHandler = true;
    }