// FIR_IDENTICAL interface ClassId interface JavaAnnotation { val classId: ClassId? } interface JavaAnnotationOwner { val annotations: Collection } interface MapBasedJavaAnnotationOwner : JavaAnnotationOwner { val annotationsByFqNameHash: Map } fun JavaAnnotationOwner.buildLazyValueForMap() = lazy { annotations.associateBy { it.classId?.hashCode() } } abstract class BinaryJavaMethodBase(): MapBasedJavaAnnotationOwner { override val annotationsByFqNameHash by buildLazyValueForMap() }