@Test
public void testBasicJavaOverload()
{

    new BBox(2, 4, 0, 1)
    {
        @Override
        public boolean intersect( Circle c )
        {
            assertTrue(true);
            return super.intersect(c);
        }
        @Override
        public boolean intersect( Shape c )
        {
            assertTrue(false);
            return true;
        }
        @Override
        public boolean intersect( BBox c )
        {
            assertTrue(false);
            return true;
        }
    }.intersect(new Circle(1, 2, 3)
    {
        @Override
        public boolean intersect( Circle c )
        {
            assertTrue(false);
            return true;
        }
        @Override
        public boolean intersect( Shape b )
        {
            assertTrue(false);
            return true;
        }
        @Override
        public boolean intersect( BBox b )
        {
            assertTrue(true);
            return true;
        }
    });
}