public function beforeSave(Event $event, EntityInterface $entity, ArrayObject $options): void
    {
        // fallback to default icon
        if (!$entity->get('icon')) {
            $entity->set('icon', Configure::read('Icons.default'));
        }

        // fallback to hashtag as default url
        if (!$entity->get('url')) {
            $entity->set('url', '#');
        }
    }