private INodeInfo CreateMemberNodeInfo(MemberInfo member, TypeSplitter os, string category, string filename)
        {
            var name  = $"{os.BaseName}.{member.Name}";
            var ninfo = FNodeInfoFactory.CreateNodeInfo(name, category, "", filename, true);

            ninfo.BeginUpdate();

            ninfo.Credits = "microdee, MESO";
            ninfo.Help    = "Exposes a single member of a CLR Type";
            ninfo.Tags    = "property, field, member";
            ninfo.Type    = NodeType.Plugin;
            ninfo.Factory = this;

            if (os.Info != null)
            {
                ninfo.UpdateFromPluginInfo(os.Info);
            }

            AuxNodeInfo.UpdateGeneric(ninfo, new NodeInfoExtension(os, member.Name));
            ninfo.Arguments = os.SplitterType.ToString();

            ninfo.CommitUpdate();

            return(ninfo);
        }
 protected override Type DelegateNodeType(INodeInfo nodeInfo)
 {
     if (AuxNodeInfo.TryGetValue(nodeInfo, out var nie))
     {
         return(nie.Splitter.SplitterType);
     }
     return(null);
 }
 protected override void ProcessNode(PluginContainer container, INodeInfo nodeInfo)
 {
     if (container.PluginBase is ObjectSplitNode osn && AuxNodeInfo.TryGetValue(nodeInfo, out var nie))
     {
         osn.MemberWhiteList = new StringCollection {
             nie.MemberName
         };
         osn.Initialize();
     }
 }