I am using GP section of ECJ. I am looking for functions that help me as below. 

1. Delete a GPNode from a GPTree. The function should find the node in the tree and remove that, then update children field of parent and also update argposition (and other details) of sibling. Note that the node is extracted before from tree and we know it is surely in the tree.

2. Add a new created GPNode to a proper position in the tree. The function should find the right position in the tree (probably based on parent type of new node), and add node as a new child of its new parent. It should also update Argposition (and other details) of its new sibling if they are not valid.

Even functions that can help in doing some parts can be very useful.