code: def __args_to_adapter_class(self, task: str, model_type: str):
      # check task_type
      try:
          task_enum = TaskType[task]
      except Exception as e:
          raise Exception(
              "wrong using.task: "
              + task
              + ", valid options: "
              + enum_to_str(TaskType)
          )
      # check and get model class
      try:
          adapter_class = task_enum.value[model_type].value
      except Exception as e:
          raise Exception(
              "Wrong using.model_type: "
              + model_type
              + ", valid options: "
              + enum_to_str(task_enum.value)
              + ", "
              + str(e)
          )
      return adapter_class
  
imports: from enum import Enum
  import json
  from typing import Optional, Dict
  import numpy
  import pandas
  import copy
  from mindsdb.integrations.libs.base import BaseMLEngine
  from mindsdb.utilities import log
  from .adapters import BaseMerlionForecastAdapter, DefaultForecasterAdapter, MerlionArguments, DefaultDetectorAdapter, SarimaForecasterAdapter, ProphetForecasterAdapter, MSESForecasterAdapter, IsolationForestDetectorAdapter, WindStatsDetectorAdapter, ProphetDetectorAdapter
label_desc: Use image node_id 3 for calling the MerlionHandler obj's underlying member method code with example usage: obj.__args_to_adapter_class(task, model_type) and returns: adapter_class