buffer.append(getBasicMetadataHtml(owner, metadata, caldoc));
buffer.append(getTypeConstructorMetadataHtml(owner, (TypeConstructorMetadata) metadata));
buffer.append(getAdditionalMetadataHtml(owner, metadata, caldoc));
} else if (metadata instanceof ClassInstanceMetadata) {
ClassInstanceIdentifier classInstanceID = featureName.toInstanceIdentifier();
ModuleTypeInfo moduleTypeInfoForFeature = owner.getPerspective().getMetaModule(featureName.toModuleName()).getTypeInfo();
ClassInstance instance = moduleTypeInfoForFeature.getClassInstance(classInstanceID);
CALDocComment caldoc = instance.getCALDocComment();
buffer.append(getBasicMetadataHtml(owner, metadata, caldoc));
buffer.append(getClassInstanceMetadataHtml(owner, (ClassInstanceMetadata) metadata));
buffer.append(getAdditionalMetadataHtml(owner, metadata, caldoc));
} else if (metadata instanceof InstanceMethodMetadata) {
ClassInstanceIdentifier classInstanceID = featureName.toInstanceIdentifier();
ModuleTypeInfo moduleTypeInfoForFeature = owner.getPerspective().getMetaModule(featureName.toModuleName()).getTypeInfo();
ClassInstance instance = moduleTypeInfoForFeature.getClassInstance(classInstanceID);
CALDocComment caldoc = instance.getMethodCALDocComment(featureName.toInstanceMethodName());
buffer.append(getBasicMetadataHtml(owner, metadata, caldoc));