def error(self, message):
        """
        Prints a usage message incorporating the message to stderr and exits in
         the case when no new arguments to be reparsed, that is when no special
         action like _DemoAction (triggering parser.demo_args()) or 
         _WizardAction (triggering input_args()) was called. Otherwise, it
         simply does not stop execution so that new arguments can be reparsed.
        """
        if all(len(x) == 0 for x in self._reparse_args.values()):
            # normal behavior with argparse
            self.print_usage(sys.stderr)
            self.exit(2, gt('%s: error: %s\n') % (self.prog, message))