'Attempt to change the name of this parameter; return the actual name.
(The parameter may reject the name change or automatically pick a different name)'

def setName(self, name):

    if self.opts['strictNaming']:
        if ((len(name) < 1) or re.search('\\W', name) or re.match('\\d', name[0])):
            raise Exception(("Parameter    name    '%s'    is    invalid.    (Must    contain    only    alphanumeric    and    underscore    characters    and    may    not    start    with    a    number)" % name))
    parent = self.parent()
    if (parent is not None):
        name = parent._renameChild(self, name)
    if (self.opts['name'] != name):
        self.opts['name'] = name
        self.sigNameChanged.emit(self, name)
    return name
