class ReflectBug<T> { 
    protected ReflectBug() { 
        try { 
            System.out.println(this.getClass().getGenericSuperclass()); 
        } catch (final Exception e) { 
            e.printStackTrace(); 
        } 
    } 

    static <X> void test() { 
        Runnable r = () -> { 
            new ReflectBug<X>() {}; 
            new ReflectBug<X[]>() {}; 
        }; 
        r.run(); 
    } 

    public static void main(final String[] args) { 
        test(); 
    } 
} 
