/** * {@inheritDoc} * * If this is a multi-type rather than a {@link #isSynonym() synonym}, the Java compliant * type reference is determined from the common super type of all participating, non-interface types. * If there is no such type or this is a synonym, all the component types are used to compute * the common super type and use that one as the type. */ @Override public JvmTypeReference toJavaCompliantTypeReference(IVisibilityHelper visibilityHelper) { if (!isSynonym()) { List<LightweightTypeReference> nonInterfaceTypes = getNonInterfaceTypes(components); if (nonInterfaceTypes != null) { return toJavaCompliantTypeReference(nonInterfaceTypes, visibilityHelper); } } return toJavaCompliantTypeReference(components, visibilityHelper); }