docs: def parse(cls, args):
          """
          Parse command line arguments to construct a dictionary of command
          parameters that can be used to create a command
  
          Args:
              `args`: sequence of arguments
  
          Returns:
              Dictionary that can be used in create method
  
          Raises:
              ParseError: when the arguments are not correct
          """
  
          try:
              (options, args) = cls.optparser.parse_args(args)
              if options.mode not in ["1", "2"]:
                  raise ParseError("mode must be either '1' or '2'",
                                   cls.optparser.format_help())
  
              if (options.dbtap_id is None) or (options.db_table is None):
                  raise ParseError("dbtap_id and db_table are required",
                                   cls.optparser.format_help())
  
              # TODO: Semantic checks for parameters in mode 1 and 2
  
          except OptionParsingError as e:
              raise ParseError(e.msg, cls.optparser.format_help())
          except OptionParsingExit as e:
              return None
  
          v = vars(options)
          v["command_type"] = "DbImportCommand"
          return v