code: def default_get_arg_names_from_class_name(class_name):
      
      parts = []
      rest = class_name
      if rest.startswith('_'):
          rest = rest[1:]
      while True:
          m = re.match(r'([A-Z][a-z]+)(.*)', rest)
          if m is None:
              break
          parts.append(m.group(1))
          rest = m.group(2)
      if not parts:
          return []
      return ['_'.join(part.lower() for part in parts)]
docs: Converts normal class names into normal arg names.
  
      Normal class names are assumed to be CamelCase with an optional leading
      underscore.  Normal arg names are assumed to be lower_with_underscores.
  
      Args:
        class_name: a class name, e.g., "FooBar" or "_FooBar"
      Returns:
        all likely corresponding arg names, e.g., ["foo_bar"]