public override void Initialize(Invert.IOC.UFrameContainer container) {
     container.AddItem<RequireReference>();
     container.AddTypeItem<OutputsChildItem>();
     container.AddTypeItem<InputsChildItem>();
     container.AddTypeItem<VariablesChildItem>();
     container.AddTypeItem<PropertiesChildItem>();
     container.AddTypeItem<CollectionsChildItem>();
     container.AddItem<BranchesChildItem>();
     CustomAction = container.AddNode<CustomActionNode,CustomActionNodeViewModel,CustomActionNodeDrawer>("CustomAction");
     CustomAction.Color(NodeColor.Gray);
     Data = container.AddGraph<DataGraph, DataNode>("DataGraph");
     Data.Color(NodeColor.Yellow);
     Data.HasSubNode<GroupNode>();
     Data.HasSubNode<EventNode>();
     Data.HasSubNode<ComponentNode>();
     Library = container.AddGraph<LibraryGraph, LibraryNode>("LibraryGraph");
     Library.Color(NodeColor.Yellow);
     Library.HasSubNode<GroupNode>();
     Library.HasSubNode<EventNode>();
     Library.HasSubNode<CustomActionNode>();
     Library.HasSubNode<ComponentNode>();
     Null = container.AddNode<NullNode,NullNodeViewModel,NullNodeDrawer>("Null");
     Null.Color(NodeColor.Purple);
     StringLiteral = container.AddNode<StringLiteralNode,StringLiteralNodeViewModel,StringLiteralNodeDrawer>("StringLiteral");
     StringLiteral.Color(NodeColor.Gray);
     Property = container.AddNode<PropertyNode,PropertyNodeViewModel,PropertyNodeDrawer>("Property");
     Property.Color(NodeColor.Blue);
     String = container.AddNode<StringNode,StringNodeViewModel,StringNodeDrawer>("String");
     String.Color(NodeColor.Purple);
     ActionGroup = container.AddNode<ActionGroupNode,ActionGroupNodeViewModel,ActionGroupNodeDrawer>("ActionGroup");
     ActionGroup.Color(NodeColor.Red);
     Function = container.AddNode<FunctionNode,FunctionNodeViewModel,FunctionNodeDrawer>("Function");
     Function.Color(NodeColor.Lightgoldenrod4);
     Bool = container.AddNode<BoolNode,BoolNodeViewModel,BoolNodeDrawer>("Bool");
     Bool.Color(NodeColor.Purple);
     Module = container.AddGraph<ModuleGraph, ModuleNode>("ModuleGraph");
     Module.Color(NodeColor.Black);
     Module.HasSubNode<EventNode>();
     Module.HasSubNode<ComponentNode>();
     Module.HasSubNode<CustomActionNode>();
     Module.HasSubNode<SystemNode>();
     Module.HasSubNode<GroupNode>();
     StopTimer = container.AddNode<StopTimerNode,StopTimerNodeViewModel,StopTimerNodeDrawer>("StopTimer");
     StopTimer.Color(NodeColor.Gray);
     AllFalse = container.AddNode<AllFalseNode,AllFalseNodeViewModel,AllFalseNodeDrawer>("AllFalse");
     AllFalse.Color(NodeColor.Orange);
     CodeAction = container.AddNode<CodeActionNode,CodeActionNodeViewModel,CodeActionNodeDrawer>("CodeAction");
     CodeAction.Color(NodeColor.Green);
     BoolExpression = container.AddNode<BoolExpressionNode,BoolExpressionNodeViewModel,BoolExpressionNodeDrawer>("BoolExpression");
     BoolExpression.Color(NodeColor.Gray);
     Float = container.AddNode<FloatNode,FloatNodeViewModel,FloatNodeDrawer>("Float");
     Float.Color(NodeColor.Purple);
     UserMethod = container.AddNode<UserMethodNode,UserMethodNodeViewModel,UserMethodNodeDrawer>("UserMethod");
     UserMethod.Color(NodeColor.Blue);
     LoopCollection = container.AddNode<LoopCollectionNode,LoopCollectionNodeViewModel,LoopCollectionNodeDrawer>("LoopCollection");
     LoopCollection.Color(NodeColor.LightGray);
     AnyFalse = container.AddNode<AnyFalseNode,AnyFalseNodeViewModel,AnyFalseNodeDrawer>("AnyFalse");
     AnyFalse.Color(NodeColor.Orange);
     ComponentCreated = container.AddNode<ComponentCreatedNode,ComponentCreatedNodeViewModel,ComponentCreatedNodeDrawer>("ComponentCreated");
     ComponentCreated.Color(NodeColor.Indianred4);
     SetVariable = container.AddNode<SetVariableNode,SetVariableNodeViewModel,SetVariableNodeDrawer>("SetVariable");
     SetVariable.Color(NodeColor.Gray);
     CollectionItemRemoved = container.AddNode<CollectionItemRemovedNode,CollectionItemRemovedNodeViewModel,CollectionItemRemovedNodeDrawer>("CollectionItemRemoved");
     CollectionItemRemoved.Color(NodeColor.Indianred4);
     CollectionModifiedHandler = container.AddNode<CollectionModifiedHandlerNode,CollectionModifiedHandlerNodeViewModel,CollectionModifiedHandlerNodeDrawer>("CollectionModifiedHandler");
     CollectionModifiedHandler.Color(NodeColor.Red);
     Object = container.AddNode<ObjectNode,ObjectNodeViewModel,ObjectNodeDrawer>("Object");
     Object.Color(NodeColor.Purple);
     PropertyChanged = container.AddNode<PropertyChangedNode,PropertyChangedNodeViewModel,PropertyChangedNodeDrawer>("PropertyChanged");
     PropertyChanged.Color(NodeColor.Indianred4);
     Variable = container.AddNode<VariableNode,VariableNodeViewModel,VariableNodeDrawer>("Variable");
     Variable.Color(NodeColor.Gray);
     Group = container.AddNode<GroupNode,GroupNodeViewModel,GroupNodeDrawer>("Group");
     Group.Color(NodeColor.SgiLightBlue);
     Group.HasSubNode<Vector3Node>();
     Group.HasSubNode<Vector2Node>();
     Group.HasSubNode<ConditionNode>();
     Group.HasSubNode<AnyFalseNode>();
     Group.HasSubNode<AnyTrueNode>();
     Group.HasSubNode<BoolExpressionNode>();
     Group.HasSubNode<PropertyNode>();
     Group.HasSubNode<AllTrueNode>();
     Group.HasSubNode<AllFalseNode>();
     Group.HasSubNode<FloatNode>();
     Group.HasSubNode<StringNode>();
     Group.HasSubNode<IntNode>();
     Group.HasSubNode<BoolNode>();
     Descriptor = container.AddNode<DescriptorNode,DescriptorNodeViewModel,DescriptorNodeDrawer>("Descriptor");
     Descriptor.Color(NodeColor.Indianred2);
     Vector3 = container.AddNode<Vector3Node,Vector3NodeViewModel,Vector3NodeDrawer>("Vector3");
     Vector3.Color(NodeColor.Purple);
     Event = container.AddNode<EventNode,EventNodeViewModel,EventNodeDrawer>("Event");
     Event.Inheritable();
     Event.Color(NodeColor.Gold3);
     Literal = container.AddNode<LiteralNode,LiteralNodeViewModel,LiteralNodeDrawer>("Literal");
     Literal.Color(NodeColor.Purple);
     Component = container.AddNode<ComponentNode,ComponentNodeViewModel,ComponentNodeDrawer>("Component");
     Component.Inheritable();
     Component.Color(NodeColor.Darkolivegreen4);
     Int = container.AddNode<IntNode,IntNodeViewModel,IntNodeDrawer>("Int");
     Int.Color(NodeColor.Purple);
     CollectionItemAdded = container.AddNode<CollectionItemAddedNode,CollectionItemAddedNodeViewModel,CollectionItemAddedNodeDrawer>("CollectionItemAdded");
     CollectionItemAdded.Color(NodeColor.Indianred4);
     ComponentDestroyed = container.AddNode<ComponentDestroyedNode,ComponentDestroyedNodeViewModel,ComponentDestroyedNodeDrawer>("ComponentDestroyed");
     ComponentDestroyed.Color(NodeColor.Indianred4);
     Vector2 = container.AddNode<Vector2Node,Vector2NodeViewModel,Vector2NodeDrawer>("Vector2");
     Vector2.Color(NodeColor.Purple);
     SequenceContainer = container.AddNode<SequenceContainerNode,SequenceContainerNodeViewModel,SequenceContainerNodeDrawer>("SequenceContainer");
     SequenceContainer.Color(NodeColor.Red);
     AllTrue = container.AddNode<AllTrueNode,AllTrueNodeViewModel,AllTrueNodeDrawer>("AllTrue");
     AllTrue.Color(NodeColor.Orange);
     StartTimer = container.AddNode<StartTimerNode,StartTimerNodeViewModel,StartTimerNodeDrawer>("StartTimer");
     StartTimer.Color(NodeColor.Gray);
     Condition = container.AddNode<ConditionNode,ConditionNodeViewModel,ConditionNodeDrawer>("Condition");
     Condition.Color(NodeColor.Orange);
     Action = container.AddNode<ActionNode,ActionNodeViewModel,ActionNodeDrawer>("Action");
     Action.Color(NodeColor.Green);
     Handler = container.AddGraph<HandlerGraph, HandlerNode>("HandlerGraph");
     Handler.Color(NodeColor.Indianred4);
     Handler.HasSubNode<SetVariableNode>();
     Handler.HasSubNode<ActionGroupNode>();
     Handler.HasSubNode<ActionNode>();
     Handler.HasSubNode<ComponentNode>();
     Handler.HasSubNode<ObjectNode>();
     Handler.HasSubNode<LoopCollectionNode>();
     Handler.HasSubNode<IntNode>();
     Handler.HasSubNode<PropertyNode>();
     Handler.HasSubNode<EnumValueNode>();
     Handler.HasSubNode<Vector2Node>();
     Handler.HasSubNode<FloatNode>();
     Handler.HasSubNode<NullNode>();
     Handler.HasSubNode<BoolNode>();
     Handler.HasSubNode<SequenceItemNode>();
     Handler.HasSubNode<Vector3Node>();
     Handler.HasSubNode<StringNode>();
     System = container.AddGraph<SystemGraph, SystemNode>("SystemGraph");
     System.Color(NodeColor.Blue);
     System.HasSubNode<CollectionItemAddedNode>();
     System.HasSubNode<ComponentNode>();
     System.HasSubNode<PropertyChangedNode>();
     System.HasSubNode<ComponentCreatedNode>();
     System.HasSubNode<CustomActionNode>();
     System.HasSubNode<HandlerNode>();
     System.HasSubNode<DescriptorNode>();
     System.HasSubNode<EventNode>();
     System.HasSubNode<GroupNode>();
     System.HasSubNode<ComponentDestroyedNode>();
     System.HasSubNode<CollectionItemRemovedNode>();
     Entity = container.AddNode<EntityNode,EntityNodeViewModel,EntityNodeDrawer>("Entity");
     Entity.Color(NodeColor.Gray);
     Color = container.AddNode<ColorNode,ColorNodeViewModel,ColorNodeDrawer>("Color");
     Color.Color(NodeColor.Purple);
     EnumValue = container.AddNode<EnumValueNode,EnumValueNodeViewModel,EnumValueNodeDrawer>("EnumValue");
     EnumValue.Color(NodeColor.Purple);
     AnyTrue = container.AddNode<AnyTrueNode,AnyTrueNodeViewModel,AnyTrueNodeDrawer>("AnyTrue");
     AnyTrue.Color(NodeColor.Orange);
     SequenceItem = container.AddNode<SequenceItemNode,SequenceItemNodeViewModel,SequenceItemNodeDrawer>("SequenceItem");
     SequenceItem.Color(NodeColor.Green);
     container.Connectable<BoolExpressionNode,Expressions>();
     container.Connectable<BoolExpressionNode,GroupNode>();
     container.Connectable<ComponentNode,RequireReference>();
     container.Connectable<ActionNode,ActionNode>();
     container.Connectable<HandlerNode,SequenceItemNode>();
     container.Connectable<SequenceItemNode,SequenceItemNode>();
 }