private function appendFieldsDependency($subject)
    {
        /** @var \Magento\Backend\Block\Widget\Form\Element\Dependence $dependencyBlock */
        $dependencyBlock = $subject->getChildBlock('form_after');

        if ($dependencyBlock) {
            $dependencyBlock
                ->addFieldMap('is_displayed_in_autocomplete', 'is_displayed_in_autocomplete')
                ->addFieldMap('is_filterable_in_search', 'is_filterable_in_search')
                ->addFieldMap('is_searchable', 'is_searchable')
                ->addFieldMap('is_used_in_spellcheck', 'is_used_in_spellcheck')
                ->addFieldMap('used_for_sort_by', 'used_for_sort_by')
                ->addFieldMap('sort_order_asc_missing', 'sort_order_asc_missing')
                ->addFieldMap('sort_order_desc_missing', 'sort_order_desc_missing')
                ->addFieldDependence('is_displayed_in_autocomplete', 'is_filterable_in_search', '1')
                ->addFieldDependence('is_used_in_spellcheck', 'is_searchable', '1')
                ->addFieldDependence('sort_order_asc_missing', 'used_for_sort_by', '1')
                ->addFieldDependence('sort_order_desc_missing', 'used_for_sort_by', '1');
        }

        return $this;
    }