class_docstr: Abstract base class for strategies that fetch information about data issues.
  
  Subclasses must implement the `get_info` method, which takes a `Data` object, a dictionary of
  information about data issues, and an optional issue name, and returns a dictionary of
  information about the specified issue, augmented with dataset about the dataset as a whole.
  
  This class also provides a helper method, `_get_info_helper`, which takes an information
  dictionary and an optional issue name, and returns a copy of the information dictionary for
  the specified issue. If the issue name is `None`, this method returns `None`.
docstr: Get information about a data issue from an information dictionary.
  
  Parameters
  ----------
  info : dict
      A dictionary of information about data issues.
  issue_name : str or None, optional (default=None)
      The name of the issue to get information about. If `None`, this method returns `None`.
  
  Returns
  -------
  dict or None
      A copy of the information dictionary for the specified issue, or `None` if the issue
      name is `None`.
  
  Raises
  ------
  ValueError
      If the specified issue name is not found in the information dictionary.
docstr_tok: ["Get","information","about","a","data","issue","from","an","information","dictionary",".","Parameters","--","--","--","--","--","info",":","dict","A","dictionary","of","information","about","data","issues",".","issue_name",":","str","or","None",",","optional","(","default=None",")","The","name","of","the","issue","to","get","information","about",".","If","`","None","`",",","this","method","returns","`","None","`",".","Returns","--","--","--","-","dict","or","None","A","copy","of","the","information","dictionary","for","the","specified","issue",",","or","`","None","`","if","the","issue","name","is","`","None","`",".","Raises","--","--","--","ValueError","If","the","specified","issue","name","is","not","found","in","the","information","dictionary","."]
code: def get_info(
      data: Data,
      info: Dict[str, Dict[str, Any]],
      issue_name: Optional[str] = None,
  ) -> Dict[str, Any]:
      """
      Get information about a data issue from an information dictionary.
  
      Parameters
      ----------
      info : dict
          A dictionary of information about data issues.
      issue_name : str or None, optional (default=None)
          The name of the issue to get information about. If `None`, this method returns `None`.
  
      Returns
      -------
      dict or None
          A copy of the information dictionary for the specified issue, or `None` if the issue
          name is `None`.
  
      Raises
      ------
      ValueError
          If the specified issue name is not found in the information dictionary.
      """
      pass
  
imports: from __future__ import annotations
  import warnings
  from abc import ABC, abstractmethod
  from typing import TYPE_CHECKING, Any, Dict, List, Optional, Union
  import numpy
  import pandas
label_desc: Use image node_id 1 for calling the _InfoStrategy obj's underlying member method code with example usage: obj.get_info(data, info, issue_name) without return types