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) { } } // IDEA-355111 record MyRecord(@NotNull Object o, @NotNull Object o2) {} record MyRecord2(@NotNull Object o, @NotNull Object o2) { MyRecord2 { } } record MyRecord3(@NotNull Object o, @NotNull Object o2) { MyRecord3(@NotNull Object o, @NotNull Object o2) { this.o = o; this.o2 = o2; } } static void main() { new Main111(null); new Main111.SubClass(null); new SubClass2(null); new MyRecord(null, ""); new MyRecord2(null, ""); new MyRecord3(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(); } }