### Question:
UTypeCast extends UExpression implements TypeCastTree { public static UTypeCast create(UTree<?> type, UExpression expression) { return new AutoValue_UTypeCast(type, expression); }  static UTypeCast create(UTree<?> type, UExpression expression); @Override abstract UTree<?> getType(); @Override abstract UExpression getExpression(); @Override Choice<Unifier> visitTypeCast(TypeCastTree cast, Unifier unifier); @Override Kind getKind(); @Override R accept(TreeVisitor<R, D> visitor, D data); @Override JCTypeCast inline(Inliner inliner);  }### Answer:
@Test public void equality() { new EqualsTester() .addEqualityGroup(UTypeCast.create(UPrimitiveTypeTree.BYTE, ULiteral.intLit(100))) .addEqualityGroup(UTypeCast.create(UPrimitiveTypeTree.BYTE, ULiteral.intLit(150))) .addEqualityGroup(UTypeCast.create(UPrimitiveTypeTree.CHAR, ULiteral.intLit(100))) .testEquals(); }
@Test public void serialization() { SerializableTester.reserializeAndAssert( UTypeCast.create(UPrimitiveTypeTree.BYTE, ULiteral.intLit(100))); }