private function initFieldTypesExtensions()
    {
        $fieldTypesExtensions = $this->loadFieldTypesExtensions();
        foreach ($fieldTypesExtensions as $extension) {
            if (!$extension instanceof FieldExtensionInterface) {
                throw new DataSourceException(sprintf("Expected instance of FSi\Component\DataSource\Field\FieldExtensionInterface but %s got", get_class($extension)));
            }

            $types = $extension->getExtendedFieldTypes();
            foreach ($types as $type) {
                if (!isset($this->fieldTypesExtensions)) {
                    $this->fieldTypesExtensions[$type] = [];
                }
                $this->fieldTypesExtensions[$type][] = $extension;
            }
        }
    }