'Mainly used at parsing time, later attributes can be set directly.'

def populate(self, value, comment=None):

    if (not self._populated):
        self._populate(value)
        self._set_comment(comment)
        self._populated = True
    else:
        self._set_initial_value()
        self._set_comment(None)
        self.report_invalid_syntax(("Setting    '%s'    used    multiple    times." % self.setting_name), 'ERROR')
