code: def get(self, name, **kwargs):
          
          name = self.prefix + name
          param = self._get_impl(name)
          if param is None: # pylint: disable=too-many-nested-blocks
              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:
                      existing = getattr(param, k)
                      if k == 'shape' and len(v) == len(existing):
                          inferred_shape = []
                          matched = True
                          for dim1, dim2 in zip(v, existing):
                              if dim1 != dim2 and dim1 * dim2 != 0:
                                  matched = False
                                  break
                              elif dim1 == dim2:
                                  inferred_shape.append(dim1)
                              elif dim1 == 0:
                                  inferred_shape.append(dim2)
                              else:
                                  inferred_shape.append(dim1)
  
                          if matched:
                              param._shape = tuple(inferred_shape)
                              continue
                      elif k == 'dtype' and np.dtype(v) == np.dtype(existing):
                          continue
  
                      assert v is None or v == existing, \
                          "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
docs: Retrieves a :py:class:`Parameter` with name ``self.prefix+name``. If not found,
          :py:func:`get` will first try to retrieve it from "shared" dict. If still not
          found, :py:func:`get` will create a new :py:class:`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 :py:class:`Parameter`.
  
          Returns
          -------
          Parameter
              The created or retrieved :py:class:`Parameter`.