code: def copy(self, name=None, prefix=None):
          
          setting = self.__class__.__new__(self.__class__)
          setting.__dict__.update(self.__dict__)
          # Keep the modified flag?
          # setting.modified = False
          if prefix and not setting.is_global:
              flags = setting.flags
              # Prefix a setting
              setting.orig_name = setting.name
              setting.name = '%s_%s' % (prefix, setting.name)
              if flags and flags[-1].startswith('--'):
                  setting.flags = ['--%s-%s' % (prefix, flags[-1][2:])]
          if name and not setting.is_global:
              setting.short = '%s application. %s' % (name, setting.short)
          return setting
docs: Copy this :class:`SettingBase`