@SuppressWarnings("unchecked")
    public @Nullable U getUserObject(@Nullable N node) {
      return node == null ? null : (U)node.getUserObject();
    }
@SuppressWarnings("unchecked")
    public @Nullable U getUserObject(@Nullable N node)