private TreeNodeCollection AddTreeNodes <T>(TreeNode node, DatabaseObjectType types, DatabaseObjectType type, List <T> dbObjects, bool createFolderNode = true, bool createFakeNode = false) where T : DatabaseObject { TreeNode targetNode = node; if (types.HasFlag(type)) { if (createFolderNode) { targetNode = node.AddDbObjectFolderNode(dbObjects); } else { targetNode = node.AddDbObjectNodes(dbObjects); } } if (createFakeNode && targetNode != null) { foreach (TreeNode child in targetNode.Nodes) { child.Nodes.Add(DbObjectsTreeHelper.CreateFakeNode()); } } return(node.Nodes); }