class GenericTest11full {
    public void m(BeanManager beanManager) {
        Bean<?> bean = beanManager.getBeans(GenericTest11full.class).iterator().next();
        CreationalContext<?> context = beanManager.createCreationalContext(bean);
        GenericTest11full b =
                (GenericTest11full)
                        beanManager.getReference(bean, GenericTest11full.class, context);
    }

    static interface BeanManager {
        java.util.Set<Bean<?>> getBeans(
                java.lang.reflect.Type arg0, java.lang.annotation.Annotation... arg1);

        <T> CreationalContext<T> createCreationalContext(Contextual<T> arg0);

        Object getReference(Bean<?> arg0, java.lang.reflect.Type arg1, CreationalContext<?> arg2);
    }

    static interface Contextual<T> {}

    static interface Bean<T> extends Contextual<T> {}

    static interface CreationalContext<T> {}
}
