code: def _add_parameter(self_, param_name,param_obj):
          
          # CEBALERT: can't we just do
          # setattr(cls,param_name,param_obj)?  The metaclass's
          # __setattr__ is actually written to handle that.  (Would also
          # need to do something about the params() cache.  That cache
          # is a pain, but it definitely improved the startup time; it
          # would be worthwhile making sure no method except for one
          # "add_param()" method has to deal with it (plus any future
          # remove_param() method.)
          cls = self_.cls
          type.__setattr__(cls,param_name,param_obj)
          ParameterizedMetaclass._initialize_parameter(cls,param_name,param_obj)
          # delete cached params()
          try:
              delattr(cls,'_%s__params'%cls.__name__)
          except AttributeError:
              pass
docs: Add a new Parameter object into this object's class.
  
          Supposed to result in a Parameter equivalent to one declared
          in the class's source code.