docstr: Gets available processing strategies depending on the selected task
  
  Args:
      task: machine learning task (e.g. regression and classification)
  
  Returns:
      supported strategies for task
docstr_tok: ["Gets","available","processing","strategies","depending","on","the","selected","task","Args",":","task",":","machine","learning","task","(","e.g",".","regression","and","classification",")","Returns",":","supported","strategies","for","task"]
code: def current_strategy(
      self, task: TaskTypesEnum
  ) -> Optional["EvaluationStrategy"]:
      """
      Gets available processing strategies depending on the selected task
  
      Args:
          task: machine learning task (e.g. regression and classification)
  
      Returns:
          supported strategies for task
      """
  
      if isinstance(self.supported_strategies, dict):
          return self.supported_strategies.get(task, None)
      return self.supported_strategies
  
imports: import json
  import os
  from collections import defaultdict
  from dataclasses import dataclass
  from typing import Dict, List, Optional, TYPE_CHECKING, Union
  import numpy
  from golem.core.log import default_log
  from golem.utilities.data_structures import ensure_wrapped_in_sequence
  from fedot.core.constants import AUTO_PRESET_NAME, BEST_QUALITY_PRESET_NAME
  from fedot.core.repository.dataset_types import DataTypesEnum
  from fedot.core.repository.json_evaluation import import_enums_from_str, import_strategy_from_str, read_field
  from fedot.core.repository.tasks import Task, TaskTypesEnum
label_desc: Use image node_id 1 for calling the OperationMetaInfo obj's underlying member method code with example usage: obj.current_strategy(task) and returns: self, self