src/main/java/ognl/Evaluation.java
public void addChild(Evaluation child)
    {
        if (firstChild == null) {
            firstChild = lastChild = child;
        } else {
            if (firstChild == lastChild) {
                firstChild.next = child;
                lastChild = child;
                lastChild.previous = firstChild;
            } else {
                child.previous = lastChild;
                lastChild.next = child;
                lastChild = child;
            }
        }
        child.parent = this;
    }
public void addChild(Evaluation child)
    {
        if (firstChild == null) {
            firstChild = lastChild = child;
        } else {
            if (firstChild == lastChild) {
                firstChild.next = child;
                lastChild = child;
                lastChild.previous = firstChild;
            } else {
                child.previous = lastChild;
                lastChild.next = child;
                lastChild = child;
            }
        }
        child.parent = this;
    }
Adds a child to the list of children of this evaluation.  The
parent of the child is set to the receiver and the children
references are modified in the receiver to reflect the new child.
The lastChild of the receiver is set to the child, and the
firstChild is set also if child is the first (or only) child.