import org.jetbrains.annotations.*; class A { /* rare nullable, handle with caution */ public String nullableString() { if (Math.random() > 0.999) { return "a string"; } return null; } public void takesNotNullString(@NotNull String s) { System.out.println(s.substring(1)); } public void aVoid() { String aString; if (nullableString() != null) { aString = nullableString(); if (aString != null) { for (int i = 0; i < 10; i++) { takesNotNullString(aString); // Bang-bang here aString = nullableString(); } } else { aString = "aaa"; } } else { aString = "bbbb"; } } }