@SuppressWarnings("serial")
    private Action getAddChildAction() {
        if (addChildAction == null) {
            String actionCommand = bundle.getString(ADD_CHILD_NODE_KEY);
            String actionKey = bundle.getString(ADD_CHILD_NODE_KEY + ".action");
            addChildAction = new AbstractAction(actionCommand) {
                @Override
                public void actionPerformed(ActionEvent e) {
                    System.out.println("actionPerformed(): action = "
                            + e.getActionCommand());
                    if (checkAction()) {
                        model.addNode(
                                nodes[0].getPath() + "/"
                                        + jtfChildName.getText(), taChildData
                                        .getText().getBytes());
                    }
                }

                private boolean checkAction() {
                    // No node or several nodes selected
                    if (nodes == null || nodes.length > 1) {
                        return false;
                    }
                    // Emptry node name
                    if (jtfChildName.getText().isEmpty()) {
                        JOptionPane.showMessageDialog(JZVNode.this,
                                bundle.getString("dlg.error.addWithoutName"),
                                bundle.getString("dlg.error.title"),
                                JOptionPane.ERROR_MESSAGE);
                        return false;
                    }
                    // No parent
                    if (nodes == null || nodes.length != 1) {
                        JOptionPane.showMessageDialog(JZVNode.this,
                                bundle.getString("dlg.error.addWithoutParent"),
                                bundle.getString("dlg.error.title"),
                                JOptionPane.ERROR_MESSAGE);
                        return false;
                    }
                    return true;
                }
            };
            addChildAction.putValue(Action.ACTION_COMMAND_KEY, actionKey);
        }
        return this.addChildAction;
    }