How to allow Cycles and multiple Parents in custom AI-Nodes

Hello,

I have created custom nodes that can be used in a behavioural tree; they inherit from UBTComposite_Selector. Coventional nodes do not allow two parent nodes, and they do not allow cycles, meaning a child connects back to a parent. For my own reasons, I must allow this though. The purpose of my custom nodes has nothing to do with AI - I am enabling level designers to implement my features by drawing a tree.

I though there might be some properties that I should set, or some function to override that will handle this for me. Any suggestions?

I know there is a property ‘ParentNode’ in BTNode indicating that one parent is intended but maybe it is possible in some hacky way? As I said, the AI features do no need to work, I just need to be able to read from the ‘Children’ property.
As well, how do I add links in between nodes in the graph from code? How would does links be read when I analyse the tree?