import org.jetbrains.annotations.NotNull; abstract class Foo { @NotNull abstract T get(@NotNull Class type); void foo(Field field) { Object value = get(field.getType()); if (value != null) { } } } interface Field { Class getType(); }