@Override
    public void updateLogicalState(float tpf) {
        super.updateLogicalState(tpf);

        // Only perform updates on children if we are the
        // root and then only perform updates on children we
        // know to require updates.
        // So if this isn't the root, abort.
        if (parent != null) {
            return;
        }

        for (Spatial s : getUpdateList().getArray()) {
            s.updateLogicalState(tpf);
        }
    }
Called to invalidate the root node's update list.  This is
 called whenever a spatial is attached/detached as well as
 when a control is added/removed from a Spatial in a way
 that would change state.
jme3-core/src/main/java/com/jme3/scene/Node.java