### Question:
UIntersectionType extends UExpression implements IntersectionTypeTree { @VisibleForTesting static UIntersectionType create(UExpression... bounds) { return create(ImmutableList.copyOf(bounds)); }  @Override abstract ImmutableList<UExpression> getBounds(); @Override JCTypeIntersection inline(Inliner inliner); @Override Kind getKind(); @Override R accept(TreeVisitor<R, D> visitor, D data); @Override Choice<Unifier> visitIntersectionType(IntersectionTypeTree node, Unifier unifier);  }### Answer:
@Test public void equality() { new EqualsTester() .addEqualityGroup( UIntersectionType.create( UClassIdent.create("java.lang.CharSequence"), UClassIdent.create("java.io.Serializable"))) .addEqualityGroup( UIntersectionType.create( UClassIdent.create("java.lang.Number"), UClassIdent.create("java.io.Serializable"))) .testEquals(); }
@Test public void serialization() { SerializableTester.reserializeAndAssert( UIntersectionType.create( UClassIdent.create("java.lang.CharSequence"), UClassIdent.create("java.io.Serializable"))); }