internal FunctionNode(TaleNode taleNode, string name, FunctionType functionType)
            : base((TalesNetwork)taleNode.Network, name)
        {
            Network.Edges.Add(this, taleNode, Net.NetworkEdgeType.PartOf);

            _functionType = functionType;
            _actionNodes = new FunctionNodeContextNodeCollection(this, NetworkEdgeType.Action);
            _agentNodes = new FunctionNodeContextNodeCollection(this, NetworkEdgeType.Agent);
            _recipientNodes = new FunctionNodeContextNodeCollection(this, NetworkEdgeType.Recipient);
            _locativeNodes = new FunctionNodeContextNodeCollection(this, NetworkEdgeType.Locative);
        }
 internal FunctionNode(TalesNetwork talesNetwork)
     : base(talesNetwork)
 {
     _actionNodes = new FunctionNodeContextNodeCollection(this, NetworkEdgeType.Action);
     _agentNodes = new FunctionNodeContextNodeCollection(this, NetworkEdgeType.Agent);
     _recipientNodes = new FunctionNodeContextNodeCollection(this, NetworkEdgeType.Recipient);
     _locativeNodes = new FunctionNodeContextNodeCollection(this, NetworkEdgeType.Locative);
 }