import java.util.Collections; import java.util.Iterator; public class AmbiguousTest extends AbstractTest { public void testFoo() { Iterator list = Collections.singleton(1).iterator(); assertEquals(1, list.next()); } } abstract class AbstractTest extends Assert { public static void assertEquals(float expected, float actual) { Assert.assertEquals(expected, actual, 0.00001); } } class Assert { protected Assert() { /* compiled code */ } public static void assertEquals(java.lang.String message, java.lang.Object expected, java.lang.Object actual) { /* compiled code */ } public static void assertEquals(java.lang.Object expected, java.lang.Object actual) { /* compiled code */ } public static void assertEquals(java.lang.String message, double expected, double actual, double delta) { /* compiled code */ } public static void assertEquals(long expected, long actual) { /* compiled code */ } public static void assertEquals(java.lang.String message, long expected, long actual) { /* compiled code */ } /** * @deprecated */ @java.lang.Deprecated public static void assertEquals(double expected, double actual) { /* compiled code */ } /** * @deprecated */ @java.lang.Deprecated public static void assertEquals(java.lang.String message, double expected, double actual) { /* compiled code */ } public static void assertEquals(double expected, double actual, double delta) { /* compiled code */ } /** * @deprecated */ @java.lang.Deprecated public static void assertEquals(java.lang.String message, java.lang.Object[] expecteds, java.lang.Object[] actuals) { /* compiled code */ } /** * @deprecated */ @java.lang.Deprecated public static void assertEquals(java.lang.Object[] expecteds, java.lang.Object[] actuals) { /* compiled code */ } }