static UWildcard create(Kind kind, @Nullable UTree<?> bound) {
    checkArgument(BOUND_KINDS.containsKey(kind));
    // verify bound is null iff kind is UNBOUNDED_WILDCARD
    checkArgument((bound == null) == (kind == Kind.UNBOUNDED_WILDCARD));
    return new AutoValue_UWildcard(kind, bound);
  }
@Test
  public void serialization() {
    SerializableTester.reserializeAndAssert(
        UWildcard.create(Kind.EXTENDS_WILDCARD, UClassIdent.create("java.lang.Number")));
  }