@Override
  public TreeNode getModelTreeNode() {
    TreeNode node = null;
    if (treeDataModel != null) {
      Object savedRowKey = treeDataModel.getRowKey();

      try {
        treeDataModel.setRowKey(getRowKey());
        node = treeDataModel.getModelTreeNode();
      } finally {
        try {
          treeDataModel.setRowKey(savedRowKey);
        } catch (Exception e) {
          log.error(e.getMessage(), e);
        }
      }
    }

    return node;
  }