code: def dump(self, indentlevel=0, target=sys.stdout):
          
          self.__print(self, indentlevel, target=target)
          indentlevel += 4
          if self.has_arguments():
              for arg in self.args_definition:
                  if not arg["name"] in self.arguments:
                      continue
                  value = self.arguments[arg["name"]]
                  atype = arg["type"]
                  if "tag" in atype:
                      self.__print(str(value), indentlevel, target=target)
                      if arg["name"] in self.extra_arguments:
                          value = self.extra_arguments[arg["name"]]
                          atype = arg["extra_arg"]["type"]
                      else:
                          continue
                  if type(value) == list:
                      if self.__get_arg_type(arg["name"]) == ["testlist"]:
                          for t in value:
                              t.dump(indentlevel, target)
                      else:
                          self.__print("[" + (",".join(value)) + "]",
                                       indentlevel, target=target)
                      continue
                  if isinstance(value, Command):
                      value.dump(indentlevel, target)
                      continue
                  self.__print(str(value), indentlevel, target=target)
          for ch in self.children:
              ch.dump(indentlevel, target)
docs: Display the command
  
          Pretty printing of this command and its eventual arguments and
          children. (recursively)
  
          :param indentlevel: integer that indicates indentation level to apply