/**
* Generate implementation info for foreign type (if the implementation type is visible).
* @param typeConstructor the type constructor, which may or may not correspond to a foreign type.
*/
private void generateForeignTypeInfo(TypeConstructor typeConstructor) {
ForeignTypeInfo foreignTypeInfo = typeConstructor.getForeignTypeInfo();
if (foreignTypeInfo != null) {
Scope implScope = foreignTypeInfo.getImplementationVisibility();
if (filter.shouldAcceptBasedOnScopeOnly(implScope)) {
try {
String className = JavaTypeName.getFullJavaSourceName(foreignTypeInfo.getForeignType());
currentPage
.openTag(HTML.Tag.DL, classAttribute(getScopeStyleClass(implScope)))
.addTaggedText(HTML.Tag.DT, classAttribute(StyleClassConstants.ATTRIBUTE_HEADER), LocalizableUserVisibleString.IMPLEMENTATION_VISIBILITY_COLON.toResourceString())
.addTaggedText(HTML.Tag.DD, implScope.toString())