def delete(attr)
    attr = attr.intern
    if @parameters.has_key?(attr)
      @parameters.delete(attr)
    else
      raise Puppet::DevError.new(_("Undefined attribute '%{attribute}' in %{name}") % { attribute: attr, name: self})
    end
  end
def delete(attr)
    attr = attr.intern
    if @parameters.has_key?(attr)
      @parameters.delete(attr)
    else
      raise Puppet::DevError.new(_("Undefined attribute '%{attribute}' in %{name}") % { attribute: attr, name: self})
    end
  end
Removes an attribute from the object; useful in testing or in cleanup
 when an error has been encountered
 @todo Don't know what the attr is (name or Property/Parameter?). Guessing it is a String name...
 @todo Is it possible to delete a meta-parameter?
 @todo What does delete mean? Is it deleted from the type or is its value state 'is'/'should' deleted?
 @param attr [String] the attribute to delete from this object. WHAT IS THE TYPE?
 @raise [Puppet::DecError] when an attempt is made to delete an attribute that does not exists.