src/Observers/ClearAttributeObserver.php
protected function process()
    {

        // query whether or not, we've found a new EAV attribute code => means we've found a new attribute
        if ($this->hasBeenProcessed($attributeCode = $this->getValue(ColumnKeys::ATTRIBUTE_CODE))) {
            return;
        }

        // try to load the EAV attribute with the code found in the CSV file
        $attribute = $this->loadAttributeByEntityTypeIdAndAttributeCode($this->getEntityTypeId(), $attributeCode);

        // delete the EAV attribute with the code found in the CSV file
        $this->deleteAttribute(array(MemberNames::ATTRIBUTE_ID => $attribute[MemberNames::ATTRIBUTE_ID]));

        // temporary persist the ID of the deleted attribute
        $this->setLastAttributeId($attribute[MemberNames::ATTRIBUTE_ID]);
    }
protected function process()
    {

        // query whether or not, we've found a new EAV attribute code => means we've found a new attribute
        if ($this->hasBeenProcessed($attributeCode = $this->getValue(ColumnKeys::ATTRIBUTE_CODE))) {
            return;
        }

        // try to load the EAV attribute with the code found in the CSV file
        $attribute = $this->loadAttributeByEntityTypeIdAndAttributeCode($this->getEntityTypeId(), $attributeCode);

        // delete the EAV attribute with the code found in the CSV file
        $this->deleteAttribute(array(MemberNames::ATTRIBUTE_ID => $attribute[MemberNames::ATTRIBUTE_ID]));

        // temporary persist the ID of the deleted attribute
        $this->setLastAttributeId($attribute[MemberNames::ATTRIBUTE_ID]);
    }
Process the observer's business logic.

@return array The processed row