def METHOD_NAME(
    self, document: Document, document_property: DocumentProperty, _document: Document = None
) -> Any:
    if document_property == DocumentProperty.SPDX_ID:
        return document.creation_info.spdx_id
    elif document_property == DocumentProperty.ANNOTATIONS:
        # annotations referencing files, packages or snippets will be added to those elements directly
        element_ids = get_contained_spdx_element_ids(document)
        document_annotations = filter(
            lambda annotation: annotation.spdx_id not in element_ids, document.annotations
        )
        return [self.annotation_converter.convert(annotation) for annotation in document_annotations] or None
    elif document_property == DocumentProperty.COMMENT:
        return document.creation_info.document_comment
    elif document_property == DocumentProperty.CREATION_INFO:
        return self.creation_info_converter.convert(document.creation_info)
    elif document_property == DocumentProperty.DATA_LICENSE:
        return document.creation_info.data_license
    elif document_property == DocumentProperty.EXTERNAL_DOCUMENT_REFS:
        return [
            self.external_document_ref_converter.convert(external_document_ref)
            for external_document_ref in document.creation_info.external_document_refs
        ] or None
    elif document_property == DocumentProperty.HAS_EXTRACTED_LICENSING_INFOS:
        return [
            self.extracted_licensing_info_converter.convert(licensing_info)
            for licensing_info in document.extracted_licensing_info
        ] or None
    elif document_property == DocumentProperty.NAME:
        return document.creation_info.name
    elif document_property == DocumentProperty.SPDX_VERSION:
        return document.creation_info.spdx_version
    elif document_property == DocumentProperty.DOCUMENT_NAMESPACE:
        return document.creation_info.document_namespace
    elif document_property == DocumentProperty.PACKAGES:
        return [self.package_converter.convert(package, document) for package in document.packages] or None
    elif document_property == DocumentProperty.FILES:
        return [self.file_converter.convert(file, document) for file in document.files] or None
    elif document_property == DocumentProperty.SNIPPETS:
        return [self.snippet_converter.convert(snippet, document) for snippet in document.snippets] or None
    elif document_property == DocumentProperty.RELATIONSHIPS:
        return [
            self.relationship_converter.convert(relationship) for relationship in document.relationships
        ] or None