protected function run()
    {
        $this->prepareImportData();
        $this->fireBeforeImportEvent();

        $this->findByExternalID();
        if (!empty($this->obModel)) {
            $this->updateItem();
        } else {
            $this->createItem();
        }

        if (empty($this->obModel)) {
            return;
        }

        $this->processModelObject();
        Event::fire(self::EVENT_AFTER_IMPORT, [$this->obModel, $this->arImportData]);
    }