import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;

 class Class1<Q extends @NonNull Object> {
    public <T extends @NonNull Object> T methodTypeParam(T t);
    public void classTypeParam(Q e);

    public <F extends @NonNull Object> void wildcardExtends(Gen<? extends F> class1);
    public <F extends @NonNull Object> void wildcardSuper(Gen<@NonNull ? super F> class1);

    class Gen<F extends @NonNull Object> {}
}
