code: public function add($object)
      {
          if ($object instanceof Item) {
              if ($object->ruleName && $this->getRule($object->ruleName) === null) {
                  $rule = \Yii::createObject($object->ruleName);
                  $rule->name = $object->ruleName;
                  $this->addRule($rule);
              }
  
              return $this->addItem($object);
          } elseif ($object instanceof Rule) {
              return $this->addRule($object);
          }
  
          throw new InvalidArgumentException('Adding unsupported object type.');
      }
docs: {@inheritdoc}