// FIR_IDENTICAL // SKIP_TXT // FILE: AbstractMapAssert.java import java.util.Map; public abstract class AbstractMapAssert, ACTUAL extends Map, K, V> { public SELF isNotNull() { return (SELF) this; } } // FILE: MapAssert.java import java.util.Map; public class MapAssert extends AbstractMapAssert, Map, KEY, VALUE> { public MapAssert(Map actual) {} } // FILE: Assertions.java import java.util.Map; public class Assertions { public static MapAssert assertThat(Map actual) { return new MapAssert<>(actual); } } // FILE: test.kt fun > S?.must() { Assertions.assertThat(this).isNotNull }