import org.jetbrains.annotations.Contract; class Scratch { public static void main(String[] args) { maybeNull = true; if (!isTrue(getMaybeNull())) { } unknown(); if (!isTrue(getMaybeNull())) { } if (!isTrue(null)) { } if (!isTrue(true)) { } if (!isTrue(false)) { } } static native void unknown(); static Boolean maybeNull = null; static Boolean getMaybeNull() { return maybeNull; } @Contract(value = "null -> false; !null -> param1", pure = true) public static boolean isTrue(final Boolean value) { return value != null && value; } }