public static void test()
        {
            IndirectTypeRecursionA a = new IndirectTypeRecursionA(3);
            IndirectTypeRecursionB b = new IndirectTypeRecursionB(3.3);

            a.setAttribute(b);
            b.setAttribute(a);

            int  d = a.getAttribute().genericAttribute; // * Error
            char n = b.getAttribute().genericAttribute; // * Error
        }
 void setAttribute(IndirectTypeRecursionB b)
 {
     this.b = b;
 }