private void attachInternal(Node root) {
        if (root instanceof ObservableHierarchy) {
            ((ObservableHierarchy) root).addObserver(this);
        }
        for (Node node : root.getChildren()) {