def add_constraint!(constraint)
	        raise PbwArgumentError('Invalid constraint') unless constraint
	        return false if has_constraint?(constraint)
	        return false unless constraint.before_add(self)
	        self.constraints << constraint
	        save!
	        constraint.after_add(self)
	        self
	    end
def add_constraint!(constraint)
	        raise PbwArgumentError('Invalid constraint') unless constraint
	        return false if has_constraint?(constraint)
	        return false unless constraint.before_add(self)
	        self.constraints << constraint
	        save!
	        constraint.after_add(self)
	        self
	    end
CONSTRAINTS