@SuppressWarnings("unchecked")
  public final @Nullable U getUserObject(@Nullable TreeNode node) {
    return node == null || !getNodeClass().isAssignableFrom(node.getClass()) ? null : (U)((T)node).getUserObject();
  }
@SuppressWarnings("unchecked")
  public final @Nullable U getUserObject(@Nullable TreeNode node)