docs: def _parse_argument(cls, token):
          """
          Parse an argument expression.
  
          :param token: The argument expression
          :type token: str
  
          :rtype: InputArgument
          """
          description = ""
          validator = None
  
          if " : " in token:
              token, description = tuple(token.split(" : ", 2))
  
              token = token.strip()
  
              description = description.strip()
  
          # Checking validator:
          matches = re.match(r"(.*)\((.*?)\)", token)
          if matches:
              token = matches.group(1).strip()
              validator = matches.group(2).strip()
  
          if token.endswith("?*"):
              return _argument(
                  token.rstrip("?*"),
                  Argument.MULTI_VALUED | Argument.OPTIONAL,
                  description,
                  None,
              )
          elif token.endswith("*"):
              return _argument(
                  token.rstrip("*"),
                  Argument.MULTI_VALUED | Argument.REQUIRED,
                  description,
                  None,
              )
          elif token.endswith("?"):
              return _argument(token.rstrip("?"), Argument.OPTIONAL, description, None)
  
          matches = re.match(r"(.+)=(.+)", token)
          if matches:
              return _argument(
                  matches.group(1), Argument.OPTIONAL, description, matches.group(2)
              )
  
          return _argument(token, Argument.REQUIRED, description, None)