code: public function configure($input)
      {
          if ($input instanceof self) {
              $this->setUid($input->getUid());
              $this->setDescription($input->getDescription());
              $this->setName($input->getName());
          } elseif (is_array($input) || $input instanceof Traversable) {
              foreach ($input as $key => $value) {
                  switch (Str::lower(trim((string) $key))) {
                      case 'value':
                      case 'id':
                      case 'uid':
                          $this->setUid($value);
                          break;
  
                      case 'desc':
                      case 'description':
                          $this->setDescription($value);
                          break;
  
                      case 'name':
                          $this->setName($value);
                          break;
                  }
              }
          } elseif (\is_string($input) && ! empty($input)) {
              $this->setUid($input);
          }
      }
docs: {@inheritdoc}