def create_from_discriminator_value(parse_node: ParseNode) -> IdentitySource:
        """
        Creates a new instance of the appropriate class based on discriminator value
        param parse_node: The parse node to use to read the discriminator value and create the object
        Returns: IdentitySource
        """
        if parse_node is None:
            raise TypeError("parse_node cannot be null.")
        try:
            child_node = parse_node.get_child_node("@odata.type")
            mapping_value = child_node.get_str_value() if child_node else None
        except AttributeError:
            mapping_value = None
        if mapping_value and mapping_value.casefold() == "#microsoft.graph.azureActiveDirectoryTenant".casefold():
            from .azure_active_directory_tenant import AzureActiveDirectoryTenant

            return AzureActiveDirectoryTenant()
        if mapping_value and mapping_value.casefold() == "#microsoft.graph.crossCloudAzureActiveDirectoryTenant".casefold():
            from .cross_cloud_azure_active_directory_tenant import CrossCloudAzureActiveDirectoryTenant

            return CrossCloudAzureActiveDirectoryTenant()
        if mapping_value and mapping_value.casefold() == "#microsoft.graph.domainIdentitySource".casefold():
            from .domain_identity_source import DomainIdentitySource

            return DomainIdentitySource()
        if mapping_value and mapping_value.casefold() == "#microsoft.graph.externalDomainFederation".casefold():
            from .external_domain_federation import ExternalDomainFederation

            return ExternalDomainFederation()
        if mapping_value and mapping_value.casefold() == "#microsoft.graph.socialIdentitySource".casefold():
            from .social_identity_source import SocialIdentitySource

            return SocialIdentitySource()
        return IdentitySource()

        Creates a new instance of the appropriate class based on discriminator value
        param parse_node: The parse node to use to read the discriminator value and create the object
        Returns: IdentitySource
        
msgraph/generated/models/identity_source.py