@VisibleForTesting
  static UUnionType create(UExpression... typeAlternatives) {
    return create(ImmutableList.copyOf(typeAlternatives));
  }
@Test
  public void equality() {
    new EqualsTester()
        .addEqualityGroup(
            UUnionType.create(
                UClassIdent.create("java.lang.IllegalArgumentException"),
                UClassIdent.create("java.lang.IllegalStateException")))
        .addEqualityGroup(
            UUnionType.create(
                UClassIdent.create("java.lang.IllegalStateException"),
                UClassIdent.create("java.lang.IllegalArgumentException")))
        .addEqualityGroup(
            UUnionType.create(
                UClassIdent.create("java.lang.IllegalStateException"),
                UClassIdent.create("java.lang.IllegalArgumentException"),
                UClassIdent.create("java.lang.IndexOutOfBoundsException")))
        .testEquals();
  }