protected function generatePickerUrl()
    {
        $parameter = [
            'fieldType'    => $this->fieldType,
            'sourceName'   => $this->sourceName,
            'modelId'      => ModelId::fromModel($this->dataContainer->getModel())->getSerialized(),
            'orderField'   => $this->orderField,
            'propertyName' => $this->name
        ];

        if ($this->pickerOrderProperty && $this->pickerSortDirection) {
            $parameter = \array_merge(
                $parameter,
                [
                    'orderProperty' => $this->pickerOrderProperty,
                    'sortDirection' => $this->pickerSortDirection
                ]
            );
        }

        return System::getContainer()->get('contao.picker.builder')->getUrl('cca_tree', $parameter);
    }