def create_from_discriminator_value(parse_node: ParseNode) -> Win32LobAppRule:
        """
        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: Win32LobAppRule
        """
        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.win32LobAppFileSystemRule".casefold():
            from .win32_lob_app_file_system_rule import Win32LobAppFileSystemRule

            return Win32LobAppFileSystemRule()
        if mapping_value and mapping_value.casefold() == "#microsoft.graph.win32LobAppPowerShellScriptRule".casefold():
            from .win32_lob_app_power_shell_script_rule import Win32LobAppPowerShellScriptRule

            return Win32LobAppPowerShellScriptRule()
        if mapping_value and mapping_value.casefold() == "#microsoft.graph.win32LobAppProductCodeRule".casefold():
            from .win32_lob_app_product_code_rule import Win32LobAppProductCodeRule

            return Win32LobAppProductCodeRule()
        if mapping_value and mapping_value.casefold() == "#microsoft.graph.win32LobAppRegistryRule".casefold():
            from .win32_lob_app_registry_rule import Win32LobAppRegistryRule

            return Win32LobAppRegistryRule()
        return Win32LobAppRule()

        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: Win32LobAppRule
        
msgraph/generated/models/win32_lob_app_rule.py