import org.jetbrains.annotations.NotNull; class Main111 { Main111(@NotNull Object o) { } static class SubClass { SubClass(@NotNull Object o) { } } static class SubClass2 { SubClass2(@NotNull Object o) { } } static void main() { new Main111(null); new Main111.SubClass(null); new SubClass2(null); new ParamerizedRunnable(null) { @Override void run() { } }; } abstract static class ParamerizedRunnable { private Object parameter; public ParamerizedRunnable(@NotNull Object parameter) { this.parameter = parameter; } abstract void run(); } }