code: def __init__(
      self,
      name: str,
      default: Any = None,
      type: Optional[type] = None,
      help: Optional[str] = None,
      metavar: Optional[str] = None,
      multiple: bool = False,
      file_name: Optional[str] = None,
      group_name: Optional[str] = None,
      callback: Optional[Callable[[Any], None]] = None,
  ) -> None:
      if default is None and multiple:
          default = []
      self.name = name
      if type is None:
          raise ValueError("type must not be None")
      self.type = type
      self.help = help
      self.metavar = metavar
      self.multiple = multiple
      self.file_name = file_name
      self.group_name = group_name
      self.callback = callback
      self.default = default
      self._value = _Option.UNSET
  
imports: import datetime
  import numbers
  import re
  import sys
  import os
  import textwrap
  from tornado.escape import _unicode, native_str
  from tornado.log import define_logging_options
  from tornado.util import basestring_type, exec_in
  from typing import Any, Iterator, Iterable, Tuple, Set, Dict, Callable, List, TextIO, Optional
label_desc: Use image node_id 1 to create a new _Option object from inherited base classes: object with example: obj = _Option(name, default, type, help, metavar, multiple, file_name, group_name, callback)