'Retrieves a `Parameter` with name `self.prefix+name`. If not found,
`get` will first try to retrieve it from `shared` dict. If still not
found, `get` will create a new `Parameter` with key-word arguments and
insert it to self.
Parameters
name : str
Name of the desired Parameter. It will be prepended with this dictionary\'s
prefix.
**kwargs : dict
The rest of key-word arguments for the created `Parameter`.
Returns
Parameter
The created or retrieved `Parameter`.'

def get(self, name, **kwargs):

    name = (self.prefix + name)
    param = self._get_impl(name)
    if (param is None):
        param = Parameter(name, **kwargs)
        self._params[name] = param
    else:
        for (k, v) in kwargs.items():
            if (hasattr(param, k) and (getattr(param, k) is not None)):
                assert ((v is None) or (v == getattr(param, k))), ('Cannot    retrieve    Parameter    %s    because    desired    attribute    does    not    match    with    stored    for    attribute    %s:    desired    %s    vs    stored    %s.' % (name, k, str(v), str(getattr(param, k))))
            else:
                setattr(param, k, v)
    return param
