private Node(INode internalCOMInterf, ProxyNodeInfoFactory nodeInfoFactory) { FInternalCOMInterf = internalCOMInterf; FNodeInfoFactory = nodeInfoFactory; FNodeInfo = nodeInfoFactory.ToProxy(internalCOMInterf.GetNodeInfo()); FPins = new Lazy <ViewableCollection <IPin2> >(InitPins); FLabelPin = new Lazy <IPin2>(InitLabelPin); var children = internalCOMInterf.GetChildren(); if (children != null) { foreach (var internalChildNode in children) { var childNode = Node.Create(internalChildNode, nodeInfoFactory); Add(childNode); } } FInternalNodeListener = new InternalNodeListener(this); FInternalCOMInterf.Tag = this; }