code: def parse_args(self, args=None, namespace=None, defaults=None):
          
          epilog = self.subparsers_summary()
          epilog += self.epilog
          return self(RootParser, epilog=epilog).parse_args(args, namespace, defaults)
docs: Parse args, returns a tuple of a parser and ParsedArgs object
          Args:
              args      -- sequence of strings representing the arguments to parse
              namespace -- object to use for holding arguments
              defaults  -- lazily loaded dict like object of default arguments
          Returns: (parser, ParsedArgs)
          parser supports a .error message for displaying an error and exiting with usage
          If a default key is callable then it is called with the current namespace,
          and then returned.