code: private function parsePanelSearch(PanelRowInterface $row)
      {
          if ($row->hasElement('search')) {
              $element = $row->getElement('search');
          } else {
              $element = new DefaultSearchElementInformation();
          }
  
          if (!$element instanceof SearchElementInformationInterface) {
              throw new \InvalidArgumentException('Search element does not implement the correct interface.');
          }
  
          foreach ($this->inputScreen['properties'] as $value) {
              if (!empty($value['search'])) {
                  $element->addProperty($value['col_name']);
              }
          }
  
          if ($element->getPropertyNames() && !$row->hasElement('search')) {
              $row->addElement($element);
          }
      }
docs: Add search element to the panel.
  
  @param PanelRowInterface $row The row to which the element shall get added to.
  
  @return void
  
  @throws \InvalidArgumentException When the search element does not implement the correct interface.