code: def parse(self, arguments=None):
          
          arguments = self.arguments or arguments
          # FIXME: prep/normalize arguments in __init__
          # Split arguments if given as string and run the parser
          if isinstance(arguments, basestring):
              arguments = utils.split(arguments)
  
          # run the wrapped argparser command to gather user set arg values
          # FROM: https://docs.python.org/3/library/argparse.html
          # Sometimes a script may only parse a few of the command-line
          # arguments, passing the remaining arguments on to another script or
          # program.  In these cases, the parse_known_args() method can be
          # useful. It works much like parse_args() except that it does not
          # produce an error when extra arguments are present. Instead, it
          # returns a two item tuple containing the populated namespace and
          # the list of remaining argument strings.
          opts, _arguments = self.parser.parse_known_args(arguments)
  
          if not opts.config_file:
              opts.config_file = os.path.expanduser(DEFAULT_IDID_CONFIG)
          opts.config = Configuration().from_file(opts.config_file)
          # alias shortcut
          self.config = opts.config
  
          # if we're passing arguments in as a string we might get \n's or null
          # strings '' that we want to be sure to ignore
          _arguments = filter(
              lambda x: x if x else None, [_.strip() for _ in _arguments if _])
  
          # Now let the subclass parse the remaining special opts that
          # weren't consumed by default argparser
          opts = self._parse(opts, _arguments)
  
          return opts
docs: Parse the shared [i]did arguments