code: def GetHelp(self, prefix='', include_special_flags=True):
      
      # TODO(vrusinov): this function needs a test.
      helplist = []
  
      flags_by_module = self.FlagsByModuleDict()
      if flags_by_module:
        modules = sorted(flags_by_module)
  
        # Print the help for the main module first, if possible.
        main_module = sys.argv[0]
        if main_module in modules:
          modules.remove(main_module)
          modules = [main_module] + modules
  
        for module in modules:
          self.__RenderOurModuleFlags(module, helplist)
        if include_special_flags:
          self.__RenderModuleFlags('gflags',
                                   _helpers.SPECIAL_FLAGS.FlagDict().values(),
                                   helplist)
      else:
        # Just print one long list of flags.
        values = self.FlagDict().values()
        if include_special_flags:
          values.append(_helpers.SPECIAL_FLAGS.FlagDict().values())
        self.__RenderFlagList(values, helplist, prefix)
  
      return '\n'.join(helplist)
docs: Generates a help string for all known flags.
  
      Args:
        prefix: str, per-line output prefix.
        include_special_flags: bool, whether to include description of
          _SPECIAL_FLAGS, i.e. --flagfile and --undefok.
  
      Returns:
        str, formatted help message.